#pragma once #include "AecDbBaseStair.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif //护栏直梯->线性体 class DLLIMPEXP AecDbLineStair : public AecDbBaseStair { public: ACRX_DECLARE_MEMBERS(AecDbLineStair); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AecDbLineStair(void); virtual~AecDbLineStair(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 AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,const LineStair& data) const; Acad::ErrorStatus DrawSteep3d(AcGiDraw &dc,const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,const LineStair& data) const; Acad::ErrorStatus DrawGuardBar3d(AcGiDraw &dc,const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,const LineStair& data) const; virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const; virtual bool ByJson(const SHJson::WValue &v); virtual bool GetBimInfoTip(CString& sInfoTip) const; };