Files
envi-code/SourceCode/Code2026/tg_shs/shs_pipebase/TCoverBooleanOper.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

40 lines
980 B
C++

#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__