#ifndef _TCOVERBOOLEANOPER_H__ #define _TCOVERBOOLEANOPER_H__ #if _MSC_VER > 1000 #pragma once #endif class TCoverBooleanOper { public: TCoverBooleanOper(); virtual ~TCoverBooleanOper(); public: // 排序辅助支持 typedef struct PtOnCrItem { AcGePoint3d m_ptGeOn; AcDbCurve * m_pCurve; } PTONCRITEM,* PPTONCRITEM; // 基本曲线图元转换为AcDb 曲线,用完需要释放缓存 static AcDbCurve* CurveElement2DbCurve(TDb::TCurveElement el); // 点排序 static BOOL SortPoints(AcGePoint3dArray& points,AcDbCurve * pCurve); // 曲线的布尔减运算,实compcurve 减去 虚 edge static BOOL BoolSubtract(TComplexCurve& curveThisEdge,const TDbExtentsEdge& otherEdge); static AcDbArc* FormatArc(AcGePoint3d& ptGe1,AcGePoint3d& ptGe2,AcGePoint3d& ptGe3); static BOOL RealInsideOther(AcDbLine& lineReal,TDb::TCurveElement& elOtherSeg); static BOOL RealInsideOther(AcDbArc* pArcReal,AcDbArc* pArcEdge); }; #endif //_TCOVERBOOLEANOPER_H__