#pragma once #include "aecdbxdraw.h" class AecDbCornerStairDraw : public AecDbXDraw { public: ACRX_DECLARE_MEMBERS(AecDbCornerStairDraw); public: AecDbCornerStairDraw(void); ~AecDbCornerStairDraw(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 AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const double& dist , const int& num , 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 DrawBeam2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawWithin(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 DrawRestPlatform3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawStairMid3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawStairSide3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , 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; AcDbLine* DrawHandRailSide(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 DrawHandRail3dL(AcGiDraw& dc , const AcGePoint3d* ptAr , const double& dRestL , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3dR(AcGiDraw& dc , const AcGePoint3d* ptAr , const double& dRestL , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const int& num , const SFSPStair& data) const; };