MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00007 00014 #ifndef __WEMConnectedComponent_H 00015 #define __WEMConnectedComponent_H 00016 00017 #include "WEMTools/WEMToolsIncludes.h" 00018 #include "WEMTools/WEMCutOp/WEMFaceCut.h" 00019 00020 00021 ML_START_NAMESPACE 00022 00027 namespace WEMConnectedComponent 00028 { 00030 typedef std::vector<WEMNode*> WEMNodeVector; 00031 00033 typedef std::vector<WEMFace*> WEMFaceVector; 00034 00039 MLWEM_EXPORT void collectComponent(WEMPatch* wemPatch, WEMNode* node, WEMNodeVector& cNodes, bool unvisitedValue = false); 00040 00044 MLWEM_EXPORT void collectComponentEuclideanDistance(WEMPatch* wemPatch, WEMNode* node, WEMNodeVector& cNodes, double maxDistance, bool unvisitedValue = false); 00045 00049 MLWEM_EXPORT void collectComponentBoundary(WEMPatch* wemPatch, WEMNode* node, WEMNodeVector& cNodes, bool unvisitedValue = false); 00050 00057 MLWEM_EXPORT bool collectComponentFaceCut(WEMNode* node, 00058 std::vector<WEMNode *>& cNodes, 00059 std::vector<WEMFace *>& cFaces, 00060 WEMVector<WEMFaceCut> **faceCuts, 00061 unsigned int outerFlag, 00062 unsigned int intersectingFlag, 00063 bool visitedValue = true); 00064 00070 MLWEM_EXPORT void collectComponentPrimitiveValueList(WEMPatch* wemPatch, 00071 WEMNode* node, 00072 WEMNodeVector& cNodes, 00073 WEMFaceVector& cFaces, 00074 WEMFaceVector& iFaces, 00075 WEMPrimitiveValueList* valueList, 00076 double valueRange, 00077 unsigned int connectedFlag, 00078 bool unvisitedValue = false); 00079 00081 MLWEM_EXPORT bool collectComponent(WEMPatch* wemPatch, WEMNodeVector& cNodes, bool unvisitedValue = false); 00082 00085 MLWEM_EXPORT void collectComponentPseudoGeodesicDistance(WEMPatch* wemPatch, WEMNode* node, WEMNodeVector& cNodes, double maxDistance, bool unvisitedValue = false); 00086 00088 MLWEM_EXPORT double getPathLengthBetweenNodes(WEMPatch* wemPatch, const std::vector<unsigned int>& nodeIndicesPath); 00089 00090 // not yet implemented. 00091 00092 // MLWEM_EXPORT void collectComponentPathDepth(WEM* wem, WEMNode* node, WEMNodeVector& cNodes, unsigned int maxPath); 00093 00094 }; 00095 00096 00097 ML_END_NAMESPACE 00098 00099 00100 #endif // __WEMConnectedComponent_H 00101