#pragma once #include "aecdbxdraw.h" class SFPXStair; class AecDbTriangleStairDraw : public AecDbXDraw { public: ACRX_DECLARE_MEMBERS(AecDbTriangleStairDraw); public: AecDbTriangleStairDraw(void); ~AecDbTriangleStairDraw(void); public: virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; protected: Acad::ErrorStatus DrawStair2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawRestPlatform2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRailIn2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRailOut2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawWithin2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawSteep3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const SFPXStair& data , const double& dW) const; Acad::ErrorStatus DrawStair3dClock(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawStair3dAntiClock(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawRest3dClock(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawRest3dAntiClock(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawGuard3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const int& num , const double& dW , const SFSPStair& data) const; AcDbLine* DrawHandRail(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const int& num , const double& dW , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRailPath3d(AcGiDraw& dc , const AcGePoint3dArray& arPts , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3d1(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d* ptAr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3d2(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d* ptAr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3d3(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d* ptAr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3dIn(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d* ptAr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; };