#include <WEMConnectedComponent.h>
Public Types | |
| typedef std::vector< WEMNode * > | WEMNodeVector |
| Defines a vector of WEMNode pointers for temporary use. | |
| typedef std::vector< WEMFace * > | WEMFaceVector |
| Defines a vector of WEMFace pointers for temporary use. | |
Public Member Functions | |
| WEMConnectedComponent () | |
| Default constructor. | |
| ~WEMConnectedComponent () | |
| Default destructor. | |
Static Public Member Functions | |
| static void | collectComponent (WEMPatch *wemPatch, WEMNode *node, WEMNodeVector &cNodes, bool unvisitedValue=false) |
Collects a connected component of a wem, starting with a node. | |
| static void | collectComponentEuclideanDistance (WEMPatch *wemPatch, WEMNode *node, WEMNodeVector &cNodes, double maxDistance, bool unvisitedValue=false) |
Same as 'collectComponent', but with an additional range parameter maxDistance. | |
| static void | collectComponentBoundary (WEMPatch *wemPatch, WEMNode *node, WEMNodeVector &cNodes, bool unvisitedValue=false) |
Same as 'collectComponent', but now the starting node should be on a boundary. | |
| static bool | collectComponentFaceCut (WEMNode *node, std::vector< WEMNode * > &cNodes, std::vector< WEMFace * > &cFaces, WEMVector< WEMFaceCut > **faceCuts, unsigned int outerFlag, unsigned int intersectingFlag, bool visitedValue=true) |
Collects a connected component of a WEM, starting with a node. | |
| static void | collectComponentPrimitiveValueList (WEMPatch *wemPatch, WEMNode *node, WEMNodeVector &cNodes, WEMFaceVector &cFaces, WEMFaceVector &iFaces, WEMPrimitiveValueList *valueList, double valueRange, unsigned int connectedFlag, bool unvisitedValue=false) |
Collects a connected component of a WEM, starting with a node. | |
| static bool | collectComponent (WEMPatch *wemPatch, WEMNodeVector &cNodes, bool unvisitedValue=false) |
| Collects a connected component and stores the nodes in the given WEMNodeVector and returns if a connected component was collected. | |
| static void | collectComponentPseudoGeodesicDistance (WEMPatch *wemPatch, WEMNode *node, WEMNodeVector &cNodes, double maxDistance, bool unvisitedValue=false) |
| Collects all connected (node) components up to a given maximum distance which is measured as the sum of the lenghts of the connecting edges. | |
| static double | getPathLengthBetweenNodes (WEMPatch *wemPatch, const std::vector< unsigned int > &nodeIndicesPath) |
| Returns the sum of the lengths of the edges between the nodes given as indices in a given WEMPatch. | |
provides one static method to collect all WEMNodes, starting. with a given WEMNode, of a connected component into a WEMNodeVector.
Definition at line 27 of file WEMConnectedComponent.h.
| typedef std::vector<WEMFace*> ml::WEMConnectedComponent::WEMFaceVector |
Defines a vector of WEMFace pointers for temporary use.
Definition at line 42 of file WEMConnectedComponent.h.
| typedef std::vector<WEMNode*> ml::WEMConnectedComponent::WEMNodeVector |
Defines a vector of WEMNode pointers for temporary use.
Definition at line 39 of file WEMConnectedComponent.h.
| ml::WEMConnectedComponent::WEMConnectedComponent | ( | ) |
Default constructor.
| ml::WEMConnectedComponent::~WEMConnectedComponent | ( | ) |
Default destructor.
| static bool ml::WEMConnectedComponent::collectComponent | ( | WEMPatch * | wemPatch, | |
| WEMNodeVector & | cNodes, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Collects a connected component and stores the nodes in the given WEMNodeVector and returns if a connected component was collected.
| static void ml::WEMConnectedComponent::collectComponent | ( | WEMPatch * | wemPatch, | |
| WEMNode * | node, | |||
| WEMNodeVector & | cNodes, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Collects a connected component of a wem, starting with a node.
The resulting nodes are collected in the cNodes vector. The unvisitedValue determines, which primitives (nodes) are marked as yet visited or not. The 'visited' status is encoded in the 'isTraversed' flag of the nodes.
| static void ml::WEMConnectedComponent::collectComponentBoundary | ( | WEMPatch * | wemPatch, | |
| WEMNode * | node, | |||
| WEMNodeVector & | cNodes, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Same as 'collectComponent', but now the starting node should be on a boundary.
Only connected nodes which are on a boundary are collected in the cNodes vector.
| static void ml::WEMConnectedComponent::collectComponentEuclideanDistance | ( | WEMPatch * | wemPatch, | |
| WEMNode * | node, | |||
| WEMNodeVector & | cNodes, | |||
| double | maxDistance, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Same as 'collectComponent', but with an additional range parameter maxDistance.
The collection of a connected component stops if the nodes traversal state is not 'unvisited' OR if its euclidean distance to the starting node exceeds the maxDistance value.
| static bool ml::WEMConnectedComponent::collectComponentFaceCut | ( | WEMNode * | node, | |
| std::vector< WEMNode * > & | cNodes, | |||
| std::vector< WEMFace * > & | cFaces, | |||
| WEMVector< WEMFaceCut > ** | faceCuts, | |||
| unsigned int | outerFlag, | |||
| unsigned int | intersectingFlag, | |||
| bool | visitedValue = true | |||
| ) | [static] |
Collects a connected component of a WEM, starting with a node.
The resulting nodes are collected in the cNodes and cFaces vectors. The visitedValue determines, which primitives (nodes) are marked as yet visited or not. The 'visited' status is encoded in the 'isTraversed' flag of the nodes. On return the common bool value for the given outerFlag is returned Additional checks are done on intersectingFlag
| static void ml::WEMConnectedComponent::collectComponentPrimitiveValueList | ( | WEMPatch * | wemPatch, | |
| WEMNode * | node, | |||
| WEMNodeVector & | cNodes, | |||
| WEMFaceVector & | cFaces, | |||
| WEMFaceVector & | iFaces, | |||
| WEMPrimitiveValueList * | valueList, | |||
| double | valueRange, | |||
| unsigned int | connectedFlag, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Collects a connected component of a WEM, starting with a node.
The resulting nodes are collected in the cNodes and cFaces vectors. The unvisitedValue determines, which primitives (nodes) are marked as yet visited or not. The 'visited' status is encoded in the 'isTraversed' flag of the nodes. Additional checks are done on connectedFlag.
| static void ml::WEMConnectedComponent::collectComponentPseudoGeodesicDistance | ( | WEMPatch * | wemPatch, | |
| WEMNode * | node, | |||
| WEMNodeVector & | cNodes, | |||
| double | maxDistance, | |||
| bool | unvisitedValue = false | |||
| ) | [static] |
Collects all connected (node) components up to a given maximum distance which is measured as the sum of the lenghts of the connecting edges.
This is a geodesic distance with an error due to the edge directions.
| static double ml::WEMConnectedComponent::getPathLengthBetweenNodes | ( | WEMPatch * | wemPatch, | |
| const std::vector< unsigned int > & | nodeIndicesPath | |||
| ) | [static] |
Returns the sum of the lengths of the edges between the nodes given as indices in a given WEMPatch.
1.5.8