#pragma once #include "AecDbBaseStair.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif //护栏弧梯->线性体 class DLLIMPEXP AecDbArcStair : public AecDbBaseStair { public: ACRX_DECLARE_MEMBERS(AecDbArcStair); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbArcStair(void); virtual ~AecDbArcStair(void); 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 void subList() const; virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); //AEC 派生 virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d& curViewDir, const int bitflags) const; protected: Acad::ErrorStatus SubAddDimPoints(AcDbGripDataPtrArray& grips,const AcGeVector3d& curViewDir) const; Acad::ErrorStatus DrawSide3d(AcGiDraw &dc,const LineStair& data) const; Acad::ErrorStatus DrawSteep3d(AcGiDraw &dc,const LineStair& data) const; Acad::ErrorStatus DrawGuardBar3d(AcGiDraw &dc,const LineStair& data) const; AcDb3dSolid* CreateSide3dSegSolid(const AcGePoint3dArray& arPtsR,const AcGePoint3dArray& arPtsR2,int i,double dSideH) const; virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const; virtual bool ByJson(const SHJson::WValue &v); virtual bool GetBimInfoTip(CString& sInfoTip) const; };