#pragma once #include "AecDbEntityBase.h" #include "AecDbObjXDataMap.h" #include "EarThwormDef.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class DLLIMPEXP AecInfCmdGrip : public AecDbEntityBase { public: ACRX_DECLARE_MEMBERS(AecInfCmdGrip); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecInfCmdGrip(void); ~AecInfCmdGrip(void); void SetInf(const AecInterface& inf); bool GetInf(AecInterface& inf) const; void SetBuddy(const AcDbObjectId& id); AcDbObjectId GetBuddy() const; void SetCommand(LPCTSTR pszCmd); public: virtual Acad::ErrorStatus copyFrom(const AcRxObject* pSrc); virtual Acad::ErrorStatus subGetTransformedCopy(const AcGeMatrix3d& xform,AcDbEntity*& pEnt) const; virtual Acad::ErrorStatus subGetGripPoints( AcDbGripDataPtrArray& grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d& curViewDir, const int bitflags) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray& appData, const AcGeVector3d& offset, const int bitflags); virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler* pFiler); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const; virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler* pFiler); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const; //专业数据 和绘制设置 virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite); virtual const AecDbObjXDataMap* GetSpecialtyData() const; protected: AecInterface m_inf; TCHAR m_szCmd[33]; AcDbSoftPointerId m_idBuddy; //不序列化 protected: AecGripData* m_pGripAppData; //夹点 };