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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
MLWEM_EXPORT void | deleteTetrahedron (WEMTrianglePatch *triPatch, WEMNode *node, void *heap=nullptr) |
Deletes a tetrahedron constellation where the given node is part of. | |
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. | |
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. | |
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.
References areCollinear().
Referenced by areCollinear().
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.
References checkCollapse().
Referenced by checkCollapse().
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.
References checkSplit().
Referenced by checkSplit().
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.
References checkSwap().
Referenced by checkSwap().
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.
References deleteNodeWithValenceThree().
Referenced by deleteNodeWithValenceThree().
MLWEM_EXPORT void ml::WEMEdgeOp::deleteTetrahedron | ( | WEMTrianglePatch * | triPatch, |
WEMNode * | node, | ||
void * | heap = nullptr ) |
Deletes a tetrahedron constellation where the given node is part of.
References deleteTetrahedron().
Referenced by deleteTetrahedron().
MLWEM_EXPORT bool ml::WEMEdgeOp::isWellFormed | ( | WEMEdge * | edge | ) |
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.
References performCollapse().
Referenced by performCollapse().
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.
References performSplit().
Referenced by performSplit().
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.
References performSwap().
Referenced by performSwap().