Nv::Blast::BooleanTool
Defined in extensions/authoring/NvBlastExtAuthoringBooleanTool.h
Enumerations
Op: Operation to perform.
Functions
performBoolean(const Mesh *meshA, SpatialAccelerator *accelA, const Mesh *meshB, SpatialAccelerator *accelB, Op op)=0: Perform boolean operation on two polygonal meshes (A and B).
pointInMesh(const Mesh *mesh, SpatialAccelerator *accel, const NvcVec3 &point)=0: Test whether point contained in mesh.
release()=0: Release BooleanTool memory.
-
class BooleanTool
Tool for performing boolean operations on polygonal meshes.
Tool supports only closed meshes. Performing boolean on meshes with holes can lead to unexpected behavior, e.g. holes in result geometry.
Public Types
Public Functions
-
inline virtual ~BooleanTool()
-
virtual void release() = 0
Release BooleanTool memory.
-
virtual Mesh *performBoolean(const Mesh *meshA, SpatialAccelerator *accelA, const Mesh *meshB, SpatialAccelerator *accelB, Op op) = 0
Perform boolean operation on two polygonal meshes (A and B).
- Parameters
meshA – [in] Mesh A
accelA – [in] Spatial accelerator for meshA. Can be nullptr.
meshB – [in] Mesh B
accelB – [in] Spatial accelerator for meshB. Can be nullptr.
op – [in] Boolean operation type (see BooleanTool::Op)
- Returns
new mesh result of the boolean operation. If nullptr, result is the empty set.
-
virtual bool pointInMesh(const Mesh *mesh, SpatialAccelerator *accel, const NvcVec3 &point) = 0
Test whether point contained in mesh.
- Parameters
mesh – [in] Mesh geometry
accel – [in] Spatial accelerator for mesh. Can be nullptr.
point – [in] Point which should be tested
- Returns
true iff point is inside of mesh
-
inline virtual ~BooleanTool()