#ifndef _TTHUNDERINSERTPREVIEWJIG_H__ #define _TTHUNDERINSERTPREVIEWJIG_H__ #if _MSC_VER > 1000 #pragma once #endif #define BLK_TAG _T("$TEXT$") #include "TSymbEdJigEx.h" class CLayPinDlg; class TVirtualEntity; class TThunderInsertPreviewJig : public TSymbEdJigEx { public: TThunderInsertPreviewJig(AcDbBlockReference* pRef); virtual ~TThunderInsertPreviewJig(); void SetLayPinDlgPtr(CLayPinDlg* pLayPtr); virtual DragStatus GetPoint(XPoint &pt); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; AcGePoint3d GetLastPoint() const; private: TVirtualEntity *m_pVirEnt; CLayPinDlg *m_pLayPinDlg; AcGePoint3d m_ptPos; }; class TVirtualEntity : public AecCurveEntity { public: TVirtualEntity(AcDbBlockReference* pRef); virtual ~TVirtualEntity(); void SetWorldDrawEntities(const AcDbVoidPtrArray& arPtr); void SetCurrentPos(const AcGePoint3d& ptPos); void SetProCircleRadius(AcGeDoubleArray& arData); void SetThunderData(CStringArray& arXData); //{{AFX_ARX_METHODS(TVirtualEntity) virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw* mode); //}}AFX_ARX_METHODS private: Adesk::Boolean subWorldDrawBlk(AcGiWorldDraw* mode); Adesk::Boolean subWorldDrawCir(AcGiWorldDraw* mode); void SetCurBlkAttText(AcDbBlockReference* pRef, LPCTSTR pszText, double dTextH); bool DocGetMeterUnitDraw(); private: AcGePoint3d m_ptPos; AcGeDoubleArray m_arCirData; AcDbBlockReference *m_pRef; CStringArray m_arXData; }; //避雷带 ////////////////////////////////////////////////////////////////////////// class TThunderLinePreviewJig : public TSymbEdJigEx { public: TThunderLinePreviewJig(AcDbPolyline* pLine); virtual ~TThunderLinePreviewJig(); virtual DragStatus GetPoint(XPoint &pt); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; void SetFixAngleState(BOOL bFix); void SetFixAngleValue(double dFixAngle); AcGePoint3d GetLastPoint(); private: BOOL m_bFix; double m_dFixAngle; AcDbPolyline *m_pLine; AcGePoint3d m_ptPos; }; #endif // !defined(_TTHUNDERINSERTPREVIEWJIG_H__)