39 lines
983 B
C++
39 lines
983 B
C++
#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__)
|