Files
envi-code/SourceCode/Code2026/tg_shs/shs_siteplan/TDbParking.h
T

83 lines
2.0 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 "tdbentity.h"
class TARCH_EXP ATSParking :
public TDbEntity
{
DECLARE_TENTBASE();
public:
ACRX_DECLARE_MEMBERS(ATSParking);
2026-10-04 00:04:20 +08:00
//车位模式
2026-09-28 15:28:50 +08:00
enum
{
2026-10-04 00:04:20 +08:00
k0Bias = 0,//无斜线
k1Bias = 1,//单斜线
k2Bias = 2,//双斜线
kCar = 3 //有停车
2026-09-28 15:28:50 +08:00
};
2026-10-04 00:04:20 +08:00
//象限切换
2026-09-28 15:28:50 +08:00
enum
{
kQuadrant1 = 0,
kQuadrant2 = 3,
kQuadrant3 = 2,
kQuadrant4 = 1
};
ATSParking();
ATSParking(const XString &sName);
~ATSParking();
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler*);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const;
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
2026-10-04 00:04:20 +08:00
//////////////////////////////////////////////////////////////////////////直线段
//ptStart 起点
//vec 基线方向向量(顶点1到2的向量)
//angle 角度
//iWidth 宽度
//iHeight 深度
//iSize 线段那一侧,1:基线方向向量逆时针 -1:基线方向向量顺时针
//iStyle 模式
//iQuadrant 象限位置
2026-09-28 15:28:50 +08:00
void Fill(const XPoint &ptStart,const AcGeVector3d &vec,int angle,double iWidth,double iHeight,int iSize=1,int iStyle=0,int iQuadrant=0);
2026-10-04 00:04:20 +08:00
//弧
2026-09-28 15:28:50 +08:00
void Fill(const XPoint &ptCenter,const XPoint &ptStart,const AcGeVector3d &vec,double iWidth,double iHeight,int iSize=1,int iStyle=0);
2026-10-04 00:04:20 +08:00
//图块基点
2026-09-28 15:28:50 +08:00
XPoint GetBasePt();
XPoint GetPtText();
double GetRotAngle();
void SetTextOffset(double dOffset){m_dOffset = dOffset;}
protected:
void TransformByEx(AcDbEntity &ent) const;
2026-10-04 00:04:20 +08:00
private://属性
2026-09-28 15:28:50 +08:00
2026-10-04 00:04:20 +08:00
//模式
2026-09-28 15:28:50 +08:00
int m_iStyle;
2026-10-04 00:04:20 +08:00
//象限
2026-09-28 15:28:50 +08:00
int m_iQuadrant;
2026-10-04 00:04:20 +08:00
//边框顶点(基向量方向)
2026-09-28 15:28:50 +08:00
TADSGePoint3d m_ptVertex1;
TADSGePoint3d m_ptVertex2;
TADSGePoint3d m_ptVertex3;
TADSGePoint3d m_ptVertex4;
TADSGePoint3d m_ptText;
2026-10-04 00:04:20 +08:00
//中点辅助画双斜线线
2026-09-28 15:28:50 +08:00
TADSGePoint3d m_ptMid;
2026-10-04 00:04:20 +08:00
//车图块
2026-09-28 15:28:50 +08:00
double m_dAngle;
TADSGePoint3d m_ptBlockCenter;
AcDbObjectId m_idBlock;
2026-10-04 00:04:20 +08:00
//双斜线指向
2026-09-28 15:28:50 +08:00
BOOL m_bDirect;
2026-10-04 00:04:20 +08:00
double m_dOffset; //文字偏移距离
2026-09-28 15:28:50 +08:00
};