#pragma once #include "aecdbxdraw.h" #include "gpc.h" class AecDbScissorsStairDraw : public AecDbXDraw { public: ACRX_DECLARE_MEMBERS(AecDbScissorsStairDraw); public: AecDbScissorsStairDraw(void); ~AecDbScissorsStairDraw(void); public: virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; protected: Acad::ErrorStatus DrawUpStairDir2d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const BOOL& bBottom , const SFSPStair& data) const; Acad::ErrorStatus DrawInHandRail2d(AcGiDraw& dc , const AcGePoint3d& ptFr , const double& dL , const double& dW , const double& dOffset , const AcGeVector3d& vecL , const AcGeVector3d& vecW , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignPlatform2d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignCen2d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignFloor2d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawSide3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const int& nStairsNum , const SFSPStair& data) const; Acad::ErrorStatus DrawSteep3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const int& nStairsNum , const SFSPStair& data) const; Acad::ErrorStatus DrawRestPlatform3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignPlatform3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignCen3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawAlignFloor3d(AcGiDraw& dc , const AcGePoint3d& ptFr , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawRail3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const int& nStairsNum , const int& num , const SFSPStair& data) const; AcDbLine* DrawStairsPath3d(AcGiDraw& dc , const AcGePoint3d& ptSta , const AcGePoint3d& ptEnd , const int& nStairsNum , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRailPath3d(AcGiDraw& dc , const AcGePoint3dArray& arPts , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; Acad::ErrorStatus DrawHandRail3d(AcGiDraw& dc , const AcGePoint3d* ptAr , const double& dRestL , const AcGeVector3d& vt , const AcGeVector3d& vtDir , const SFSPStair& data) const; };