Nv::Blast::BooleanEvaluator Class Reference

#include <NvBlastExtAuthoringBooleanTool.h>

List of all members.

Public Member Functions

 BooleanEvaluator ()
MeshcreateNewMesh ()
int32_t isPointContainedInMesh (const Mesh *mesh, SpatialAccelerator *spAccel, const NvcVec3 &point)
int32_t isPointContainedInMesh (const Mesh *mesh, const NvcVec3 &point)
void performBoolean (const Mesh *meshA, const Mesh *meshB, BooleanConf mode)
void performBoolean (const Mesh *meshA, const Mesh *meshB, SpatialAccelerator *spAccelA, SpatialAccelerator *spAccelB, BooleanConf mode)
void performFastCutting (const Mesh *meshA, const Mesh *meshB, BooleanConf mode)
void performFastCutting (const Mesh *meshA, const Mesh *meshB, SpatialAccelerator *spAccelA, SpatialAccelerator *spAccelB, BooleanConf mode)
void reset ()
 ~BooleanEvaluator ()


Detailed Description

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.

Constructor & Destructor Documentation

Nv::Blast::BooleanEvaluator::BooleanEvaluator (  ) 

Nv::Blast::BooleanEvaluator::~BooleanEvaluator (  ) 


Member Function Documentation

Mesh* Nv::Blast::BooleanEvaluator::createNewMesh (  ) 

Generates result polygon mesh after performing boolean operation.

Returns:
If not nullptr - result mesh geometry.

int32_t Nv::Blast::BooleanEvaluator::isPointContainedInMesh ( const Mesh mesh,
SpatialAccelerator spAccel,
const NvcVec3 point 
)

Test whether point contained in mesh.

Parameters:
[in] mesh Mesh geometry
[in] spAccel Acceleration structure for mesh
[in] point Point which should be tested
Returns:
not 0 if point is inside of mesh

int32_t Nv::Blast::BooleanEvaluator::isPointContainedInMesh ( const Mesh mesh,
const NvcVec3 point 
)

Test whether point contained in mesh.

Parameters:
[in] mesh Mesh geometry
[in] point Point which should be tested
Returns:
not 0 if point is inside of mesh

void Nv::Blast::BooleanEvaluator::performBoolean ( const Mesh meshA,
const Mesh meshB,
BooleanConf  mode 
)

Perform boolean operation on two polygonal meshes (A and B).

Parameters:
[in] meshA Mesh A
[in] meshB Mesh B
[in] mode Boolean operation type

void Nv::Blast::BooleanEvaluator::performBoolean ( const Mesh meshA,
const Mesh meshB,
SpatialAccelerator spAccelA,
SpatialAccelerator spAccelB,
BooleanConf  mode 
)

Perform boolean operation on two polygonal meshes (A and B).

Parameters:
[in] meshA Mesh A
[in] meshB Mesh B
[in] spAccelA Acceleration structure for mesh A
[in] spAccelB Acceleration structure for mesh B
[in] mode Boolean operation type

void Nv::Blast::BooleanEvaluator::performFastCutting ( const Mesh meshA,
const Mesh meshB,
BooleanConf  mode 
)

Perform cutting of mesh with some large box, which represents cutting plane. This method skips part of intersetion computations, so should be used ONLY with cutting box, received from getBigBox(...) method from NvBlastExtAuthoringMesh.h. For cutting use only BOOLEAN_INTERSECTION or BOOLEAN_DIFFERENCE mode.

Parameters:
[in] meshA Mesh A
[in] meshB Cutting box
[in] mode Boolean operation type

void Nv::Blast::BooleanEvaluator::performFastCutting ( const Mesh meshA,
const Mesh meshB,
SpatialAccelerator spAccelA,
SpatialAccelerator spAccelB,
BooleanConf  mode 
)

Perform cutting of mesh with some large box, which represents cutting plane. This method skips part of intersetion computations, so should be used ONLY with cutting box, received from getBigBox(...) method from NvBlastExtAuthoringMesh.h. For cutting use only BOOLEAN_INTERSECTION or BOOLEAN_DIFFERENCE mode.

Parameters:
[in] meshA Mesh A
[in] meshB Cutting box
[in] spAccelA Acceleration structure for mesh A
[in] spAccelB Acceleration structure for cutting box
[in] mode Boolean operation type

void Nv::Blast::BooleanEvaluator::reset (  ) 

Reset tool state.


The documentation for this class was generated from the following file: