|
MLWEM_EXPORT void | ml::WEMSetOp::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 | ml::WEMSetOp::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 | ml::WEMSetOp::difference (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2, WEMTrianglePatch *outPatch, unsigned int outputMode, TriangulationModes triangulationMode, WEMVector< WEMCut > *cuts=nullptr) |
| Returns the difference of the given patches.
|
|
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) |
| Intersects bounding boxes of given patches.
|
|
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.
|
|
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.
|
|
void | ml::WEMSetOp::_resetOuterAndIntersectingFlags (WEMTrianglePatch *inPatch1, WEMTrianglePatch *inPatch2) |
| Resets the status flags of nodes and faces.
|
|
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.
|
|
bool | ml::WEMSetOp::_areWEMBoundingBoxesIntersecting (WEMPatch *wemPatch1, WEMPatch *wemPatch2) |
| Returns whether the bounding boxes of the given WEMs are intersecting.
|
|
void | ml::WEMSetOp::_removeNonValidCuts (WEMVector< WEMFace > *intersectedFaces, WEMVector< WEMFaceCut > **faceCuts) |
| Removes all non-valid face cuts from the common face cuts vector.
|
|
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.
|
|
void | ml::WEMSetOp::_addFacesToOutputPatch (WEMVector< WEMFace > *faces, WEMNode **nodeTable, WEMTrianglePatch *outPatch) |
| Adds the given faces to the output patch.
|
|
WEMVector< WEMFaceCut > ** | ml::WEMSetOp::_setupFaceCuts (WEMTrianglePatch *inPatch, WEMVector< WEMFace > *intersectedFaces, WEMVector< WEMPartialFaceCut > **partialFaceCuts) |
| Sets up the face cut vector.
|
|