#pragma once #include "aecdbentitybase.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif typedef struct EquPair { TCHAR szFrEqu[17]; TCHAR szToEqu[17]; }EQUPAIR; //路径点,电缆敷设辅助 class DLLIMPEXP AecDbDirPosition : public AecDbEntityBase { public: ACRX_DECLARE_MEMBERS(AecDbDirPosition); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbDirPosition(void); ~AecDbDirPosition(void); void SetPosition(const AcGePoint3d &ptPos); AcGePoint3d GetPosition() const; //编号或名称 void SetOnEqu(LPCTSTR pszEqu); BOOL GetOnEqu(CString &sEqu) const; void SetSys(LPCTSTR pszSys); void GetSys(CString& sSys); void SetIsEqu(bool bIsEqu); bool IsEqu(); void SetAssocEnt(LPCTSTR pszHd); LPCTSTR GetAssocEnt() const; public: virtual Acad::ErrorStatus copyFrom(const AcRxObject *pSrc); virtual void subList() const; virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d &xform); 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 subGetStretchPoints(AcGePoint3dArray &stretchPoints) const; virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray &indices, const AcGeVector3d &offset); virtual Acad::ErrorStatus subIntersectWith(const AcDbEntity *pEnt, AcDb::Intersect intType, AcGePoint3dArray &points, INT_PTR thisGsMarker, INT_PTR otherGsMarker) const; virtual Acad::ErrorStatus subIntersectWith(const AcDbEntity *pEnt, AcDb::Intersect intType, const AcGePlane &projPlane, AcGePoint3dArray &points, INT_PTR thisGsMarker, INT_PTR otherGsMarker) 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; protected: virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; virtual AecDbObjXDataMap *GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite); virtual const AecDbObjXDataMap *GetSpecialtyData() const; CString m_sSys; AcGePoint3d m_ptPos; CString m_sEquOn; Adesk::Int16 m_nIsEqu; CString m_sHd;//关联桥架 AecGripData *m_pGripAppData;//不序列化 };