MeVisLabToolboxReference
ml::WEMSetOp Namespace Reference

Tool namespace for performing set operations on WEM patches. More...

Functions

MLWEM_EXPORT void unify (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts=NULL)
 Returns the union of the given patches.
MLWEM_EXPORT void intersect (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts=NULL)
 Returns the intersection of the given patches.
MLWEM_EXPORT void difference (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts=NULL)
 Returns the difference of the given patches.
void _boolOp (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int boolOpMode, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts)
 Performs a boolean operation (union, intersection, difference) on given patches.
bool _intersectBoundingBoxes (WEMTrianglePatch *triPatch1, WEMTrianglePatch *triPatch2, unsigned int outerFlag, unsigned int intersectingFlag)
 Intersects bounding boxes of given patches.
void _updateClassification (WEMTrianglePatch *triPatch, WEMVector< WEMFaceCut > **faceCutTable, unsigned int outerFlag, unsigned int intersectingFlag, WEMTrianglePatch *rayPatch, WEMVector< WEMFace > *outerFaces=NULL, WEMVector< WEMFace > *innerFaces=NULL)
 Updates classification of nodes and faces based on face cuts.

Detailed Description

Tool namespace for performing set operations on WEM patches.


Function Documentation

void ml::WEMSetOp::_boolOp ( WEMTrianglePatch *  inPatch1,
WEMTrianglePatch *  inPatch2,
WEMTrianglePatch *  outPatch,
unsigned int  boolOpMode,
unsigned int  outputMode,
TriangulationModes  triangulationMode,
WEMVector< WEMCut > *  cuts 
)

Performs a boolean operation (union, intersection, difference) on given patches.

bool ml::WEMSetOp::_intersectBoundingBoxes ( WEMTrianglePatch *  triPatch1,
WEMTrianglePatch *  triPatch2,
unsigned int  outerFlag,
unsigned int  intersectingFlag 
)

Intersects bounding boxes of given patches.

Sets outer and intersecting flags on nodes and faces. Returns whether there was any intersection.

void ml::WEMSetOp::_updateClassification ( WEMTrianglePatch *  triPatch,
WEMVector< WEMFaceCut > **  faceCutTable,
unsigned int  outerFlag,
unsigned int  intersectingFlag,
WEMTrianglePatch *  rayPatch,
WEMVector< WEMFace > *  outerFaces = NULL,
WEMVector< WEMFace > *  innerFaces = NULL 
)

Updates classification of nodes and faces based on face cuts.

MLWEM_EXPORT void ml::WEMSetOp::difference ( WEMTrianglePatch *  inPatch1,
WEMTrianglePatch *  inPatch2,
WEMTrianglePatch *  outPatch,
unsigned int  outputMode,
TriangulationModes  triangulationMode,
WEMVector< WEMCut > *  cuts = NULL 
)

Returns the difference of the given patches.

MLWEM_EXPORT void ml::WEMSetOp::intersect ( WEMTrianglePatch *  inPatch1,
WEMTrianglePatch *  inPatch2,
WEMTrianglePatch *  outPatch,
unsigned int  outputMode,
TriangulationModes  triangulationMode,
WEMVector< WEMCut > *  cuts = NULL 
)
MLWEM_EXPORT void ml::WEMSetOp::unify ( WEMTrianglePatch *  inPatch1,
WEMTrianglePatch *  inPatch2,
WEMTrianglePatch *  outPatch,
unsigned int  outputMode,
TriangulationModes  triangulationMode,
WEMVector< WEMCut > *  cuts = NULL 
)

Returns the union of the given patches.