#pragma once #include "aecdbxdraw.h" class AecDbRectCornerStairDraw : public AecDbXDraw { public: ACRX_DECLARE_MEMBERS(AecDbRectCornerStairDraw); public: AecDbRectCornerStairDraw(void); ~AecDbRectCornerStairDraw(void); public: virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; protected: Acad::ErrorStatus DrawUpStairsDir2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawUpStairs2d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawUpStairsClockWise3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawUpStairsAntiClockWise3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawSteep3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const int& nStairsNum , const double& dStairsWidth , const BOOL& bLeft , const BOOL& bRight , const SFPXStair& data) const; Acad::ErrorStatus DrawSide3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const int& nStairsNum , const double& dStairsWidth , const BOOL& bLeft , const SFPXStair& data) const; Acad::ErrorStatus DrawRestPlatform3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const double& dL , const double& dW , const AcGeVector3d& vecL , const AcGeVector3d& vecW , const double& dStairsWidthL// 长度方向的楼梯宽带 , const double& dStairsWidthW// 宽度方向的楼梯宽带 , const double& dH , const SFPXStair& data) const; Acad::ErrorStatus DrawRail3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const int& nStairsNum , const double& dStairsWidth , const int& num , const SFPXStair& data) const; AcDbLine* DrawStairsPath3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGePoint3d& ptTo , const int& nStairsNum , const double& dStairsWidth , const SFPXStair& data) const; Acad::ErrorStatus DrawHandRailPath3d(AcGiDraw& dc , const AcGePoint3dArray& arPts , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; Acad::ErrorStatus DrawHandRail3d(AcGiDraw& dc , const AcGePoint3d* ptAr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFPXStair& data) const; };