#if !defined(__KTJIGTRAPEZIA_H__) #define __KTJIGTRAPEZIA_H__ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class KTJigTrapezia : public AcEdJig { public: KTJigTrapezia(); virtual ~KTJigTrapezia(); // 两边是否有裙形(相对vtEdge) enum ESkirtType { eSkirtNone = 0, // 没有 eSkirtCoDir = 1, // 同方向有 eSkirtReDir = 2, // 反方向有 eSkirtBoth = (eSkirtCoDir | eSkirtReDir), // 两边都有 }; // 拖放创建多段线,返回的多段线内存由调用者管理 AcDbPolyline* DragCreate(const AcGePoint3d& ptBase, const AcGeVector3d& vtEdge, const AcGeVector3d& vtNormal, LPCTSTR pszPrompt, BOOL bDragEdge = TRUE, KTJigTrapezia::ESkirtType eSkirt = KTJigTrapezia::eSkirtNone); protected: virtual AcEdJig::DragStatus sampler(); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; BOOL m_bDragEdge; KTJigTrapezia::ESkirtType m_eSkirt; AcDbPolyline* m_pPline; AcGePoint3d m_ptLast; }; #endif // !defined(__KTJIGTRAPEZIA_H__)