#pragma once #include "AecDbEntityBaseEx.h" #include "ObjInfoUnit.h" class AecXDbSymbRupture : public AecXDbEntityBaseEx { public: ACRX_DECLARE_MEMBERS(AecXDbSymbRupture); private: const static Adesk::UInt8 g_nVersion; protected: ADSGePoint3d m_ptStart, m_ptEnd; // 端点 Adesk::UInt8 m_nRuptureNum; public: AecXDbSymbRupture(); ~AecXDbSymbRupture(); virtual BOOL IsValid() const; virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag); //virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const; virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler*); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const; virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d& curViewDir, const int bitflags) const { return Acad::eNotImplementedYet; } virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray & stretchPoints) const; virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); // drived from AecXDbEntityBaseEx virtual DrawModeType GetDrawType() const; virtual void GetTips(PtrList &) const; //取动态属性显示数据 virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const; virtual const TCHAR *GetDefaultLayer() const; virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; // sg add 110301,支持统一标高 virtual bool UnifyElevation(double dElevation = 0.0); // sg add 120316,支持夹点ctrl功能切换 virtual int GetCtrlToggleIndex()const { return 10; } // Properties ADSGePoint3d GetStartPoint() const; ADSGePoint3d GetEndPoint()const; Adesk::UInt8 GetRuptureNum() const; void SetRuptureNum(Adesk::UInt8 num); void SetStartPoint(ADSGePoint3d pt); void SetEndPoint(ADSGePoint3d pt); };