Files
envi-code/SourceCode/Code2026/tg_shs/shs_annotate/TRoadGradeArrowJig.h
T
2026-09-28 15:28:50 +08:00

68 lines
1.8 KiB
C++

#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;
};