|
MeVisLab Toolbox Reference
|
Tool namespace for performing set operations on WEM patches. More...
Enumerations | |
| enum | Axis { xAxis = 0 , yAxis , zAxis } |
| Defines the main axes. More... | |
Functions | |
| MLWEM_EXPORT void | unify (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts=nullptr) |
| 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=nullptr) |
| 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=nullptr) |
| 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) |
| Intersects bounding boxes of given patches. | |
| void | _updateClassification (WEMTrianglePatch *triPatch, WEMVector< WEMFaceCut > **faceCutTable, WEMTrianglePatch *rayPatch, WEMVector< WEMFace > *outerFaces=nullptr, WEMVector< WEMFace > *innerFaces=nullptr) |
| Updates classification of nodes and faces based on face cuts. | |
| Axis | _getMinimalOverlapAxisOfBoundingBoxes (const Vector3 &min1, const Vector3 &min2, const Vector3 &max1, const Vector3 &max2) |
| Returns the minimal overlap axis of the given bounding boxes. | |
| void | _resetOuterAndIntersectingFlags (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2) |
| Resets the status flags of nodes and faces. | |
| void | _performTrivialBoolOp (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int boolOpMode, unsigned int outputMode) |
| If the bounding boxes of the input WEMs do not intersect, perform a trivial boolean operation. | |
| bool | _areWEMBoundingBoxesIntersecting (WEMPatch *wemPatch1, WEMPatch *wemPatch2) |
| Returns whether the bounding boxes of the given WEMs are intersecting. | |
| void | _removeNonValidCuts (WEMVector< WEMFace > *intersectedFaces, WEMVector< WEMFaceCut > **faceCuts) |
| Removes all non-valid face cuts from the common face cuts vector. | |
| void | _classifyIntersectionAndOutsideFaces (WEMTrianglePatch *inPatch1, WEMVector< WEMFace > *intersectedFaces) |
| Checks all faces; if a face if fully outside, it is just marked, else it is also added to the given intersectedFaces vector. | |
| void | _addFacesToOutputPatch (WEMVector< WEMFace > *faces, WEMNode **nodeTable, WEMTrianglePatch *outPatch) |
| Adds the given faces to the output patch. | |
| WEMVector< WEMFaceCut > ** | _setupFaceCuts (WEMTrianglePatch *inPatch, WEMVector< WEMFace > *intersectedFaces, WEMVector< WEMPartialFaceCut > **partialFaceCuts) |
| Sets up the face cut vector. | |
Tool namespace for performing set operations on WEM patches.
| enum ml::WEMSetOp::Axis |
| void ml::WEMSetOp::_addFacesToOutputPatch | ( | WEMVector< WEMFace > * | faces, |
| WEMNode ** | nodeTable, | ||
| WEMTrianglePatch * | outPatch | ||
| ) |
Adds the given faces to the output patch.
References _addFacesToOutputPatch().
Referenced by _addFacesToOutputPatch().
Returns whether the bounding boxes of the given WEMs are intersecting.
References _areWEMBoundingBoxesIntersecting().
Referenced by _areWEMBoundingBoxesIntersecting().
| void ml::WEMSetOp::_boolOp | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2, | ||
| WEMTrianglePatch * | outPatch, | ||
| unsigned int | boolOpMode, | ||
| unsigned int | outputMode, | ||
| TriangulationModes | triangulationMode, | ||
| WEMVector< WEMCut > * | cuts | ||
| ) |
| void ml::WEMSetOp::_classifyIntersectionAndOutsideFaces | ( | WEMTrianglePatch * | inPatch1, |
| WEMVector< WEMFace > * | intersectedFaces | ||
| ) |
Checks all faces; if a face if fully outside, it is just marked, else it is also added to the given intersectedFaces vector.
References _classifyIntersectionAndOutsideFaces().
Referenced by _classifyIntersectionAndOutsideFaces().
| Axis ml::WEMSetOp::_getMinimalOverlapAxisOfBoundingBoxes | ( | const Vector3 & | min1, |
| const Vector3 & | min2, | ||
| const Vector3 & | max1, | ||
| const Vector3 & | max2 | ||
| ) |
Returns the minimal overlap axis of the given bounding boxes.
References _getMinimalOverlapAxisOfBoundingBoxes().
Referenced by _getMinimalOverlapAxisOfBoundingBoxes().
| bool ml::WEMSetOp::_intersectBoundingBoxes | ( | WEMTrianglePatch * | triPatch1, |
| WEMTrianglePatch * | triPatch2 | ||
| ) |
Intersects bounding boxes of given patches.
Sets outer and intersecting flags on nodes and faces. Returns whether there was any intersection.
References _intersectBoundingBoxes().
Referenced by _intersectBoundingBoxes().
| void ml::WEMSetOp::_performTrivialBoolOp | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2, | ||
| WEMTrianglePatch * | outPatch, | ||
| unsigned int | boolOpMode, | ||
| unsigned int | outputMode | ||
| ) |
If the bounding boxes of the input WEMs do not intersect, perform a trivial boolean operation.
References _performTrivialBoolOp().
Referenced by _performTrivialBoolOp().
| void ml::WEMSetOp::_removeNonValidCuts | ( | WEMVector< WEMFace > * | intersectedFaces, |
| WEMVector< WEMFaceCut > ** | faceCuts | ||
| ) |
Removes all non-valid face cuts from the common face cuts vector.
References _removeNonValidCuts().
Referenced by _removeNonValidCuts().
| void ml::WEMSetOp::_resetOuterAndIntersectingFlags | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2 | ||
| ) |
Resets the status flags of nodes and faces.
References _resetOuterAndIntersectingFlags().
Referenced by _resetOuterAndIntersectingFlags().
| WEMVector< WEMFaceCut > ** ml::WEMSetOp::_setupFaceCuts | ( | WEMTrianglePatch * | inPatch, |
| WEMVector< WEMFace > * | intersectedFaces, | ||
| WEMVector< WEMPartialFaceCut > ** | partialFaceCuts | ||
| ) |
| void ml::WEMSetOp::_updateClassification | ( | WEMTrianglePatch * | triPatch, |
| WEMVector< WEMFaceCut > ** | faceCutTable, | ||
| WEMTrianglePatch * | rayPatch, | ||
| WEMVector< WEMFace > * | outerFaces = nullptr, |
||
| WEMVector< WEMFace > * | innerFaces = nullptr |
||
| ) |
Updates classification of nodes and faces based on face cuts.
References _updateClassification().
Referenced by _updateClassification().
| MLWEM_EXPORT void ml::WEMSetOp::difference | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2, | ||
| WEMTrianglePatch * | outPatch, | ||
| unsigned int | outputMode, | ||
| TriangulationModes | triangulationMode, | ||
| WEMVector< WEMCut > * | cuts = nullptr |
||
| ) |
| MLWEM_EXPORT void ml::WEMSetOp::intersect | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2, | ||
| WEMTrianglePatch * | outPatch, | ||
| unsigned int | outputMode, | ||
| TriangulationModes | triangulationMode, | ||
| WEMVector< WEMCut > * | cuts = nullptr |
||
| ) |
| MLWEM_EXPORT void ml::WEMSetOp::unify | ( | WEMTrianglePatch * | inPatch1, |
| WEMTrianglePatch * | inPatch2, | ||
| WEMTrianglePatch * | outPatch, | ||
| unsigned int | outputMode, | ||
| TriangulationModes | triangulationMode, | ||
| WEMVector< WEMCut > * | cuts = nullptr |
||
| ) |