// CWireDim.h: interface for the CWireDim class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_CWireDim_H__1D1B3C8C_31A5_4C17_AFB1_D2844FAF227C__INCLUDED_) #define AFX_CWireDim_H__1D1B3C8C_31A5_4C17_AFB1_D2844FAF227C__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class TARCH_EXP CWireDim : public AcDbEntity { private: void *operator new[](size_t nSize) { return 0;} void operator delete[](void *p) {}; void *operator new[](size_t nSize, const char *file, int line) { return 0;} public: ACRX_DECLARE_MEMBERS(CWireDim); CWireDim(); virtual ~CWireDim(); //************************************************************************* // Overridden methods from AcDbEntity //************************************************************************* virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd); virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus subExplode(AcDbVoidPtrArray& entitySet) const; //************************************************************************* // Overridden methods from AcDbObject //************************************************************************* virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; //************************************************************************* // CWireDim Property //************************************************************************* AcGePoint3d m_ptWire; //与导线相交的点 AcGePoint3d m_ptStart, m_ptEnd; //引出线起点,终点 bool m_bLeft; double m_nTextLength, m_nWidthFactor, m_nWireAngle; XPoint m_ptTextLow, m_ptTextUp; CString GetDimContent(){assertReadEnabled();return m_csDimContent;} CString GetTextStyle(){assertReadEnabled();return m_csTextStyle;} double GetTextHeight(){assertReadEnabled();return m_nTextHeight;} void GetExtend(XPoint &ptLow, XPoint &ptUp); void SetDimContent(CString csDimContent){assertWriteEnabled();m_csDimContent = csDimContent;} void SetTextStyle(CString csTextStyle){assertWriteEnabled();m_csTextStyle = csTextStyle;} void SetTextHeight(double nTextHeight){assertWriteEnabled();m_nTextHeight = nTextHeight;} protected: CString m_csDimContent, m_csTextStyle; //标注内容 double m_nTextHeight; }; class TARCH_EXP CMutiWireDim : public CWireDim { private: void *operator new[](size_t nSize) { return 0;} void operator delete[](void *p) {}; void *operator new[](size_t nSize, const char *file, int line) { return 0;} public: ACRX_DECLARE_MEMBERS(CMutiWireDim); CMutiWireDim(); virtual ~CMutiWireDim(); Adesk::Boolean worldText(AcGiWorldDraw *pWd); Adesk::Boolean worldText2(AcGiWorldDraw *pWd); virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd); virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus subExplode(AcDbVoidPtrArray& entitySet) const; virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; AcGePoint3dArray m_arrPtWire; //与导线相交的点 void SetPointArray(XPointList &lstPt); double m_nTextLength; int m_iCount; //导线根数 bool GetIsPredigest(){assertReadEnabled(); return m_bPredigest;} void GetDimContentList(XStringList &lst); void SetDimContentList(XStringList &lstDimContent); void SetIsPredigest(bool bPredigest){assertWriteEnabled(); m_bPredigest = bPredigest;} protected: const int DIST; CStringArray m_lstDimContent; //标注内容 CString m_csAllText; bool m_bPredigest; }; #endif // !defined(AFX_CWireDim_H__1D1B3C8C_31A5_4C17_AFB1_D2844FAF227C__INCLUDED_)