#if !defined(__KTJIGSKIRT_H__) #define __KTJIGSKIRT_H__ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class KTJigSkirt : public AcEdJig { public: KTJigSkirt(); virtual ~KTJigSkirt(); // 拖放创建裙形,返回的曲线内存由调用者管理 BOOL DragCreate(const AcGePoint3d& ptBase, const AcGeVector3d& vtEdge, const AcGeVector3d& vtNormal, LPCTSTR pszPrompt, const AcDbObjectId& idLayer, AcDbVoidPtrArray& arpEnt); protected: virtual AcEdJig::DragStatus sampler(); virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; AcDbLine* m_pEdge1; AcDbLine* m_pEdge2; AcDbLine* m_pBase; AcGePoint3d m_ptLast; class KTDumbEntity : public AcDbEntity { public: KTDumbEntity() {} virtual ~KTDumbEntity() {} virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw* mode) { assertReadEnabled(); AcDbEntity* pEnt; int iLen = m_arpEntity.length(); for (int i = 0; i < iLen; i++) { pEnt = AcDbEntity::cast((AcDbObject*)m_arpEntity[i]); if (pEnt == NULL) continue; mode->geometry().draw(pEnt->drawable()); } return Adesk::kTrue; } AcDbVoidPtrArray m_arpEntity; }; KTDumbEntity m_cDumbEntity; }; #endif // !defined(__KTJIGSKIRT_H__)