#pragma once #include "RoadElevStyle.h" //道路坡度箭头预览 class TRoadGradeArrowJig:public AcEdJig { public: TRoadGradeArrowJig(XPoly2D poly2d, XPoint ptInsertPosition, TDbSymbArrow* pSymblArrow, int nArrowLength, bool bRotation = true, bool bDynamic = false); ~TRoadGradeArrowJig(); void SetPrompt(const TCHAR *m_pTemp); int doIt(); AcDbPolyline* CloneCurrentSelectPoly(); void SetAngle(double dAngle); double GetAngle(); TDbSymbArrow* GetSymbArrow(); protected: virtual DragStatus sampler(); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; private: int GetRetCode() const; private: TDbSymbArrow *m_pEntSymbArrowEnt; const TCHAR *m_pszPrompt; //提示信息 AcGePoint3d m_point; //用户交互点 XPoint m_ptPoint; //用户交点点 XPoly2D m_poly2d; AcGePoint3d m_Position; //当前位置 XPoint m_ptPositiont; double m_dAngle; int m_nRetCode; //返回码 bool m_bRotation; bool m_bDynamic; //是否是,动态绘制 int m_nArrowLength; //箭头长度 }; //道路标高预览 class TRoadElevJig :public AcEdJig { public: TRoadElevJig(XPoly2D poly2d, TDbSymbElevation* pSymblElev, bool bOneElev = false, bool bSelectBaseline = true); ~TRoadElevJig(); void SetPrompt(const TCHAR *m_pTemp); int doIt(int *pKeyIndex=NULL); TDbSymbElevation* GetSymbElev(); void SetKeyword(const TCHAR *k); protected: virtual DragStatus sampler(); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; private: int GetRetCode() const; private: TDbSymbElevation *m_pEntSymbElevEnt; const TCHAR *m_pszPrompt; //提示信息 AcGePoint3d m_point; //用户交互点 XPoint m_ptPoint; //用户交点点 XPoly2D m_poly2d; AcGePoint3d m_Position; //当前位置 XPoint m_ptPositiont; double m_dAngle; int m_nRetCode; //返回码 bool m_bOneElev; bool m_bSelect; XString m_sKeyword; };