Files
envi-code/SourceCode/Code2026/tg_shs/inc/pipewire/TDbCircleText.h
T

143 lines
4.2 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
// TDbCircleText.h: interface for the TDbCircleText class.
2026-09-28 15:28:50 +08:00
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_)
#define AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <dbSymbolAnnotate.h>
/*============================================================================*
* Copyright(c), 1994-2007, Beijing Tangent Engineering Software Co.Ltd.
2026-10-04 00:04:20 +08:00
* 文 件 名: TDbCircleText.h
* 归属项目: 暖通
2026-09-28 15:28:50 +08:00
=============================================================================*/
/*============================================================================*
2026-10-04 00:04:20 +08:00
* 类 名: TDbCircleText
* 功能描述: 立管标注文字
2026-09-28 15:28:50 +08:00
==============================================================================*/
2026-10-04 00:04:20 +08:00
#define IDS_TENTITY_FIELDS_DIM_HAS_LEADER _T("立管标注是否带引线")
2026-09-28 15:28:50 +08:00
class PS_EXP TDbCircleText : public TDbSymbWithText
{
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbCircleText);
private:
const static Adesk::UInt8 g_nVersion;
public:
TDbCircleText();
virtual ~TDbCircleText();
protected:
2026-10-04 00:04:20 +08:00
CString m_csText; // 图号
XPoint m_ptCenter; // 圆心
XPoint m_ptFrom; // 引出点
double m_nRadius; // 图纸单位
double m_nLineWidth; // 线粗(图纸单位) -1 为双圆
2026-09-28 15:28:50 +08:00
AcDbHardPointerId m_idOwner;
2026-10-04 00:04:20 +08:00
//BOOL m_bHasLeader; // 是否带有引线 2009-6-1
2026-09-28 15:28:50 +08:00
public:
CString GetText() const {
return m_csText;
}
void SetText(const CString pszText) {
assertWriteEnabled();
m_csText = pszText;
}
XPoint GetCenter() const {
return m_ptCenter;
}
void SetCenter(XPoint pt) {
assertWriteEnabled();
m_ptCenter = pt;
}
XPoint GetFrom() const {
return m_ptFrom;
}
void SetFrom(XPoint pt) {
assertWriteEnabled();
m_ptFrom = pt;
}
double GetRadius() const {
return m_nRadius;
}
void SetRadius(double val) {
assertWriteEnabled();
m_nRadius = val;
}
double GetLineWidth() const {
return m_nLineWidth;
}
void SetLineWidth(double val) {
assertWriteEnabled();
m_nLineWidth = val;
}
AcDbObjectId GetPipeId() const {
return m_idOwner;
}
void SetPipeId(const AcDbObjectId &id) {
assertWriteEnabled();
m_idOwner = id;
}
Adesk::Boolean GetDimHasLeader() const
{
const TEntityFields &fd = GetFields();
Adesk::Boolean bHasLeader = Adesk::kFalse;
fd.GFD(IDS_TENTITY_FIELDS_DIM_HAS_LEADER, bHasLeader);
return bHasLeader;
}
void SetDimHasLeader(BOOL bHasLeader = TRUE)
{
assertWriteEnabled();
Adesk::Boolean bDimHasLeader = bHasLeader ? Adesk::kTrue : Adesk::kFalse;
TEntityFields &fd = Fields();
fd.SFD(IDS_TENTITY_FIELDS_DIM_HAS_LEADER, bDimHasLeader);
}
public: // Override AcDbEntity
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 subGetStretchPoints(AcGePoint3dArray & stretchPoints) const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
public: // Override TDbEntity
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
2026-10-04 00:04:20 +08:00
virtual void GetTips(DList<TObjInfoUnit> &) const; // 取动态属性显示数据
2026-09-28 15:28:50 +08:00
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
virtual void SetSubText(long i, CString sText); // sg add
virtual long GetSubTextNum() const { return 1; } // ok
};
#endif // !defined(AFX_TDBCIRCLETEXT_H__EB4892FC_58BB_470B_97CC_00D5FA56EEAB__INCLUDED_)