#ifndef AFX_TVPIPEDIMJIG_H__ #define AFX_TVPIPEDIMJIG_H__ #if _MSC_VER > 1000 #pragma once #endif #include "EdJigEx.h" class TDbVPipeDim; class TVPipeDimJig : public TSymbEdJig { public: TVPipeDimJig(TDbVPipeDim *pDim); virtual ~TVPipeDimJig(); void SetStartPt(const AcGePoint3d &pt); virtual int DoIt(int *pKeyIndex=NULL); DragStatus GetPoint(XPoint &pt); protected: TDbVPipeDim *m_pDrawEnt; XPoint m_ptStart, m_ptTurn; AcGeVector3d m_vtDir; virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; }; // zxl 2012.07.05 modify class CMultVpipeDimPreview : public TDbEntity { public: CMultVpipeDimPreview(std::vector &vecDim, AcGePoint3d &ptEnd, AcGeVector3d &vtDir); virtual ~CMultVpipeDimPreview(); //virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd); virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const; void SetDimDir(AcGeVector3d &vtDim); std::vector m_vecDim; AcGeVector3d m_vtDir; }; class TMultVPipeDimJig : public TSymbEdJig { public: TMultVPipeDimJig(std::vector &vecDim, AcGePoint3d &ptEnd, AcGeVector3d &vtDir); virtual ~TMultVPipeDimJig(); void SetStartPt(const AcGePoint3d &pt); virtual int DoIt(int *pKeyIndex=NULL); DragStatus GetPoint(XPoint &pt); AcGePoint3d& GetTurnPt(); AcGeVector3d& GetDimDir(); protected: CMultVpipeDimPreview *m_pDrawEnt; std::vector m_vecDim; XPoint m_ptStart, m_ptTurn, m_ptEnd; AcGeVector3d m_vtDir, m_vtNext, m_vtDimDir; bool m_bIsProj; bool m_bPrjOnPipe; virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; }; #endif // !defined(AFX_TVPIPEDIMJIG_H__66C5B011_2C7A_43AB_AF29_394E5657440A__INCLUDED_)