Files
envi-code/SourceCode/Code2026/tg_shs/shs_siteplan/TDbParking.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

84 lines
2.0 KiB
C++

#pragma once
#include "tdbentity.h"
class TARCH_EXP ATSParking :
public TDbEntity
{
DECLARE_TENTBASE();
public:
ACRX_DECLARE_MEMBERS(ATSParking);
//车位模式
enum
{
k0Bias = 0,//无斜线
k1Bias = 1,//单斜线
k2Bias = 2,//双斜线
kCar = 3 //有停车
};
//象限切换
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;
//////////////////////////////////////////////////////////////////////////直线段
//ptStart 起点
//vec 基线方向向量(顶点1到2的向量)
//angle 角度
//iWidth 宽度
//iHeight 深度
//iSize 线段那一侧,1:基线方向向量逆时针 -1:基线方向向量顺时针
//iStyle 模式
//iQuadrant 象限位置
void Fill(const XPoint &ptStart,const AcGeVector3d &vec,int angle,double iWidth,double iHeight,int iSize=1,int iStyle=0,int iQuadrant=0);
//弧
void Fill(const XPoint &ptCenter,const XPoint &ptStart,const AcGeVector3d &vec,double iWidth,double iHeight,int iSize=1,int iStyle=0);
//图块基点
XPoint GetBasePt();
XPoint GetPtText();
double GetRotAngle();
void SetTextOffset(double dOffset){m_dOffset = dOffset;}
protected:
void TransformByEx(AcDbEntity &ent) const;
private://属性
//模式
int m_iStyle;
//象限
int m_iQuadrant;
//边框顶点(基向量方向)
TADSGePoint3d m_ptVertex1;
TADSGePoint3d m_ptVertex2;
TADSGePoint3d m_ptVertex3;
TADSGePoint3d m_ptVertex4;
TADSGePoint3d m_ptText;
//中点辅助画双斜线线
TADSGePoint3d m_ptMid;
//车图块
double m_dAngle;
TADSGePoint3d m_ptBlockCenter;
AcDbObjectId m_idBlock;
//双斜线指向
BOOL m_bDirect;
double m_dOffset; //文字偏移距离
};