101 lines
4.2 KiB
C++
101 lines
4.2 KiB
C++
// 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_)
|