Files
envi-code/SourceCode/Code2026/inc/brepTools.h
T
2026-09-28 15:28:50 +08:00

36 lines
864 B
C++

#pragma once
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class DLLIMPEXP BrepTools
{
public:
static void init();
// 直接碰撞 solid 实体
// 缺点:对于一端在solid内的线段,不好区分
static bool intersectWith_by_whole(AcDb3dSolid *pSolid
, const AcGeLinearEnt3d& linEnt
, AcGePoint3dArray &ar);
// 遍历 solid 的所有face,进行碰撞检查
static bool intersectWith_by_loop_face(AcDb3dSolid *pSolid
, const AcGeLinearEnt3d &linEnt
, AcGePoint3dArray &ar);
// 0-kInside, 1-kOutside, 2-kOnBoundary
static bool relationWith(const AcDbRegion *pReg
, const AcGePoint3d &pt
, AcGe::PointContainment &iResult );
static void listInfo3dSolid(const AcDb3dSolid *pSolid);
static void intersectSolid(const AcDb3dSolid *pSolid, const AcGeLinearEnt3d &line, AcGePoint3dArray &ar);
};