144 lines
4.2 KiB
C++
144 lines
4.2 KiB
C++
// TDbCircleText.h: interface for the TDbCircleText class.
|
||
//
|
||
//////////////////////////////////////////////////////////////////////
|
||
|
||
#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.
|
||
* 文 件 名: TDbCircleText.h
|
||
* 归属项目: 暖通
|
||
=============================================================================*/
|
||
|
||
/*============================================================================*
|
||
* 类 名: TDbCircleText
|
||
* 功能描述: 立管标注文字
|
||
==============================================================================*/
|
||
|
||
#define IDS_TENTITY_FIELDS_DIM_HAS_LEADER _T("立管标注是否带引线")
|
||
|
||
class PS_EXP TDbCircleText : public TDbSymbWithText
|
||
{
|
||
DECLARE_TENTBASE();
|
||
ACRX_DECLARE_MEMBERS(TDbCircleText);
|
||
|
||
private:
|
||
const static Adesk::UInt8 g_nVersion;
|
||
|
||
public:
|
||
TDbCircleText();
|
||
virtual ~TDbCircleText();
|
||
|
||
protected:
|
||
CString m_csText; // 图号
|
||
XPoint m_ptCenter; // 圆心
|
||
XPoint m_ptFrom; // 引出点
|
||
double m_nRadius; // 图纸单位
|
||
double m_nLineWidth; // 线粗(图纸单位) -1 为双圆
|
||
AcDbHardPointerId m_idOwner;
|
||
|
||
//BOOL m_bHasLeader; // 是否带有引线 2009-6-1
|
||
|
||
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;
|
||
virtual void GetTips(DList<TObjInfoUnit> &) const; // 取动态属性显示数据
|
||
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_)
|