#ifndef __CFoldPinJig_H__ #define __CFoldPinJig_H__ #if _MSC_VER > 1000 #pragma once #endif class TVirtualFoldPin : public AecCurveEntity { public: TVirtualFoldPin(); ~TVirtualFoldPin(); void SetDlgPtr(); void SetPostion(const XPoint& ptInsert); void SetBlockId(const AcDbObjectId& oid); void SetProHeight(const AcGeDoubleArray& arProHs); void SetThunderHeight(const double& dH); void SetBlkScale(const double& dScale); virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw& dc) const; protected: AcGeDoubleArray m_arProHeight; XPoint m_ptInsert; AcDbObjectId m_blkId; double m_dH; double m_dScale; // CFoldLayPinDlg* m_pDlg; }; class CFoldLayPinDlg; class CFoldPinJig : public AcEdJig { public: CFoldPinJig(void); ~CFoldPinJig(void); virtual int DoIt(int *pKeyIndex = NULL); // virtual AcEdJig::DragStatus GetPoint(XPoint &pt); virtual DragStatus sampler(); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; void SetProBlock(const AcDbObjectId& oid); void SetBlockName(const CString& sBlkName); void SetDlgPtr(CFoldLayPinDlg* pDlg); AcGePoint3d GetLastPoint(); protected: TVirtualFoldPin* m_pVirtualEnt; CFoldLayPinDlg* m_pDlg; AcDbObjectId m_BlockId; CString m_sBlkName; AcGePoint3d m_ptResult; }; #endif