ml::WEMConnectedComponent Class Reference

The WEMConnectedComponent class. More...

#include <WEMConnectedComponent.h>

List of all members.

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.


Detailed Description

The WEMConnectedComponent class.

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.


Member Typedef Documentation

Defines a vector of WEMFace pointers for temporary use.

Definition at line 42 of file WEMConnectedComponent.h.

Defines a vector of WEMNode pointers for temporary use.

Definition at line 39 of file WEMConnectedComponent.h.


Constructor & Destructor Documentation

ml::WEMConnectedComponent::WEMConnectedComponent (  ) 

Default constructor.

ml::WEMConnectedComponent::~WEMConnectedComponent (  ) 

Default destructor.


Member Function Documentation

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.


The documentation for this class was generated from the following file:

Generated on Sat Sep 3 18:39:41 2011 for MeVisLab Toolbox Reference by  doxygen 1.5.8