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

59 lines
2.5 KiB
C++

#pragma once
#include "tdbcurveentity.h"
class TARCH_EXP TDbInSight : public TDbSymbWithText
{
protected:
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbInSight);
public:
enum EInsightType{ENormalInsight = 0, EIndexInsight};
TDbInSight();
virtual ~TDbInSight();
void SetType(EInsightType uStyle) { m_InSightStyle = (short)uStyle; } // 0 - 单面, 1-双面(上下) 2-双面左右, 3-四面
EInsightType GetType(){ return (EInsightType)m_InSightStyle; }
void SetInsertPt(XPoint ptIns) { m_ptIns = ptIns; }
XPoint GetInsertPt() { return m_ptIns; }
void SetRadius(double nRadius);
double GetRadius() { return m_dRadius; }
void SetMapNoText(CString str); //图号
CString GetMapNoText() { return m_strTH; }
void SetNumberText(CString str); //编号
CString GetNumberText() { return m_strBH; }
void SetAngle(double dRotation);
double GetAngle();
void SetOldStyle(int nDraw);
int GetOldStyle() const;
double GetTextRatio() const; // 文字控制大小的比例
void SetTextRatio(double dVal);
virtual int GetFirstVersion() const;
public:
int GetTrueTextStyle() const;
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler* pFiler);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
virtual Acad::ErrorStatus DownGradeSave(int nDrawMode, AcDbVoidPtrArray &entSet,BOOL *bErase); // sg add 081223,导出低版本
virtual Acad::ErrorStatus ExplodeOrDraw2d(TGGiExplodeDrawBase &dc) const;
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray&gripPoints,AcDbIntArray&,AcDbIntArray&)const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset);
virtual TSubText* HitTestText(XPoint pt)const;
virtual void SetSubText(long i, CString sText);
void GetTextExtends(const TCHAR *sText, double &dX, double &dY, BOOL bDrawingLabel) const;
virtual long GetSubTextNum()const{return m_InSightStyle == ENormalInsight ? 1:2;}//ok
private:
short m_InSightStyle; //内饰符号样式
CString m_strTH; //文字1
CString m_strBH; //文字2
XPoint m_ptIns; //插入点
double m_dRadius; //半径
double m_dRotation; //图案旋转角
double m_dValue; //预留
int m_nFlag; //预留
double m_dTextRatio; // 文字控制大小的比例,0为随TDbConfig
Adesk::UInt8 m_bOldStyle;
};