// 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 /*============================================================================* * 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 &) 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_)