97 lines
3.3 KiB
C++
97 lines
3.3 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;
|
|
};
|