MeVisLab Toolbox Reference
|
Helper namespace for performing swap, split and collapse operations on edges of a WEM. More...
Functions | |
MLWEM_EXPORT bool | isWellFormed (WEMEdge *edge) |
Perform a basic sanity check. More... | |
MLWEM_EXPORT bool | checkSwap (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxDihedralAngleNeigh=0.99999331899f) |
Returns whether the given edge of the triangle patch can be swapped. More... | |
MLWEM_EXPORT bool | performSwap (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxDihedralAngleNeigh=0.99999331899f) |
Performs a swapping of the edge in a triangle patch. Returns whether a swapping was performed. More... | |
MLWEM_EXPORT bool | checkSplit (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxEdgeLength=1.0f) |
Returns whether the given edge of the triangle patch can be split. More... | |
MLWEM_EXPORT WEMNode * | performSplit (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxEdgeLength=1.0f) |
Performs a splitting of the edge in a triangle patch. Returns the node which has been inserted. More... | |
MLWEM_EXPORT bool | checkCollapse (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxDihedralAngleNeigh=0.99999331899f) |
Returns whether the given edge in the triangle patch can be collapsed. More... | |
MLWEM_EXPORT WEMNode * | performCollapse (WEMTrianglePatch *triPatch, WEMEdge *edge, void *heap=nullptr, float maxDihedralAngleNeigh=0.99999331899f) |
Performs a collapsing of the given edge in a triangle patch and returns the inserted node. More... | |
MLWEM_EXPORT void | deleteTetrahedron (WEMTrianglePatch *triPatch, WEMNode *node, void *heap=nullptr) |
Deletes a tetrahedron constellation where the given node is part of. More... | |
MLWEM_EXPORT bool | deleteNodeWithValenceThree (WEMTrianglePatch *triPatch, WEMNode *node, void *heap=nullptr, float maxDihedralAngleNeigh=0.99999331899f) |
Deletes a node with a valence of 3. Returns whether the operation was successful. More... | |
MLWEM_EXPORT bool | areCollinear (WEMNode *n0, WEMNode *n1, WEMNode *n2) |
Returns whether the given positions are collinear, assuming that n0 is always in the middle. More... | |
Helper namespace for performing swap, split and collapse operations on edges of a WEM.
All methods accept an optional pointer to an edge-heap which can be maintained by the method.
MLWEM_EXPORT bool ml::WEMEdgeOp::areCollinear | ( | WEMNode * | n0, |
WEMNode * | n1, | ||
WEMNode * | n2 | ||
) |
Returns whether the given positions are collinear, assuming that n0 is always in the middle.
MLWEM_EXPORT bool ml::WEMEdgeOp::checkCollapse | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxDihedralAngleNeigh = 0.99999331899f |
||
) |
Returns whether the given edge in the triangle patch can be collapsed.
An optional maximum dihedral angle for the neighboring faces can be given. Default for this is 12 degrees.
MLWEM_EXPORT bool ml::WEMEdgeOp::checkSplit | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxEdgeLength = 1.0f |
||
) |
Returns whether the given edge of the triangle patch can be split.
MLWEM_EXPORT bool ml::WEMEdgeOp::checkSwap | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxDihedralAngleNeigh = 0.99999331899f |
||
) |
Returns whether the given edge of the triangle patch can be swapped.
MLWEM_EXPORT bool ml::WEMEdgeOp::deleteNodeWithValenceThree | ( | WEMTrianglePatch * | triPatch, |
WEMNode * | node, | ||
void * | heap = nullptr , |
||
float | maxDihedralAngleNeigh = 0.99999331899f |
||
) |
Deletes a node with a valence of 3. Returns whether the operation was successful.
MLWEM_EXPORT void ml::WEMEdgeOp::deleteTetrahedron | ( | WEMTrianglePatch * | triPatch, |
WEMNode * | node, | ||
void * | heap = nullptr |
||
) |
Deletes a tetrahedron constellation where the given node is part of.
MLWEM_EXPORT bool ml::WEMEdgeOp::isWellFormed | ( | WEMEdge * | edge | ) |
Perform a basic sanity check.
MLWEM_EXPORT WEMNode* ml::WEMEdgeOp::performCollapse | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxDihedralAngleNeigh = 0.99999331899f |
||
) |
Performs a collapsing of the given edge in a triangle patch and returns the inserted node.
MLWEM_EXPORT WEMNode* ml::WEMEdgeOp::performSplit | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxEdgeLength = 1.0f |
||
) |
Performs a splitting of the edge in a triangle patch. Returns the node which has been inserted.
MLWEM_EXPORT bool ml::WEMEdgeOp::performSwap | ( | WEMTrianglePatch * | triPatch, |
WEMEdge * | edge, | ||
void * | heap = nullptr , |
||
float | maxDihedralAngleNeigh = 0.99999331899f |
||
) |
Performs a swapping of the edge in a triangle patch. Returns whether a swapping was performed.