Files
envi-code/SourceCode/Code2026/tg_shs/shs_annotate/TRoadGradeArrowJig.h
T

68 lines
1.9 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#pragma once
2026-09-28 15:28:50 +08:00
#include "RoadElevStyle.h"
2026-10-04 00:04:20 +08:00
//道路坡度箭头预览
2026-09-28 15:28:50 +08:00
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;
2026-10-04 00:04:20 +08:00
const TCHAR *m_pszPrompt; //提示信息
AcGePoint3d m_point; //用户交互点
XPoint m_ptPoint; //用户交点点
2026-09-28 15:28:50 +08:00
XPoly2D m_poly2d;
2026-10-04 00:04:20 +08:00
AcGePoint3d m_Position; //当前位置
2026-09-28 15:28:50 +08:00
XPoint m_ptPositiont;
double m_dAngle;
2026-10-04 00:04:20 +08:00
int m_nRetCode; //返回码
2026-09-28 15:28:50 +08:00
bool m_bRotation;
2026-10-04 00:04:20 +08:00
bool m_bDynamic; //是否是,动态绘制
int m_nArrowLength; //箭头长度
2026-09-28 15:28:50 +08:00
};
2026-10-04 00:04:20 +08:00
//道路标高预览
2026-09-28 15:28:50 +08:00
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;
2026-10-04 00:04:20 +08:00
const TCHAR *m_pszPrompt; //提示信息
AcGePoint3d m_point; //用户交互点
XPoint m_ptPoint; //用户交点点
2026-09-28 15:28:50 +08:00
XPoly2D m_poly2d;
2026-10-04 00:04:20 +08:00
AcGePoint3d m_Position; //当前位置
2026-09-28 15:28:50 +08:00
XPoint m_ptPositiont;
double m_dAngle;
2026-10-04 00:04:20 +08:00
int m_nRetCode; //返回码
2026-09-28 15:28:50 +08:00
bool m_bOneElev;
bool m_bSelect;
XString m_sKeyword;
};