Files
envi-code/SourceCode/Code2026/Dimension/AecDbSymbModi.h
T
2026-09-28 15:28:50 +08:00

97 lines
3.2 KiB
C++

#pragma once
#include "AecDbSymbWithText.h"
#include "objinfounit.h"
#include "GePoly2D.h"
class AecXDbText;
class AecXDbSymbModi : public AecXDbSymbWithText
{
public:
ACRX_DECLARE_MEMBERS(AecXDbSymbModi);
public:
AecXDbSymbModi();
~AecXDbSymbModi();
protected:
const static Adesk::UInt8 g_nVersion; // 对象格式版本
protected:
GePoly2D m_poly; // 云线对应的多段线
double m_dEndWidth; // 云线的末尾宽度
double m_dAngle; // 弯曲的弧度值
Adesk::UInt8 m_bShowEdition; // 是否显示版次
TCString m_sEdition; // 版次文字
ADSGePoint3d m_ptEditLoc; // 版次位置
public:
//virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler*);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const;
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler*);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const;
virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints,
AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips,
const double curViewUnitSize,
const int gripSize,
const AcGeVector3d& curViewDir,
const int bitflags) const { return Acad::eNotImplementedYet; }
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray & stretchPoints) const;
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
public:
virtual BOOL IsValid() const;
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
virtual void GetTips(PtrList<ObjInfoUnit> &) const; // 取动态属性显示数据
virtual long GetSubTextNum() const { return 1; }
virtual void SetSubText(long i, CString sText) { assertWriteEnabled(); m_sEdition = sText; };
virtual const TCHAR *GetDefaultLayer() const;
virtual int GetFirstVersion() const { return 9; }
virtual int ConvertText(TConvertTextPtr ptr, void *pData = NULL);
BOOL GetText(Adesk::UInt32 cookies, AecXDbText &text) const;
virtual TextPosition FindSubText(const TCHAR *sSubText, TextPosition &posStart,
TextRange *pRange = NULL) const;
virtual TextPosition ReplaceSubText(const TextPosition &posRep,
const TCHAR *sRepText, TextRange *pRange = NULL);
virtual bool UnifyElevation(double dElevation = 0.0);
public:
void SetModiPoly(GePoly2D poly);
void GetModiPoly(GePoly2D &poly) const;
BOOL GetIsShowEdition() const; // 是否显示版次
void SetIsShowEdition(BOOL bShow); // 设置是否显示版次
ADSGePoint3d GetEditLocal() const; // 返回版次位置
void SetEditLocal(ADSGePoint3d pt); // 设置版次位置
ADSGePoint3d GetDefaultTextLocation(); // 版次文字默认位置点
void SetEditionText(CString strText); // 设置版次文字
CString GetEditionText() const; // 获得版次文字
double GetEndWidth() const; // 获得云线线宽
void SetEndWidth(double dWidth); // 设置线宽
void SetArcAngle(double dAngle); // poly中的每个点的弧度值
double GetArcAngle() const;
};