13 #ifndef mitkTubeGraph_h
14 #define mitkTubeGraph_h
23 # pragma warning(push)
24 # pragma warning(disable: 4172) // boost/graph/named_function_params.hpp(240): returning address of local variable or temporary
27 #include <boost/graph/undirected_dfs.hpp>
28 #include <boost/graph/visitors.hpp>
29 #include <boost/property_map/property_map.hpp>
31 #include <boost/graph/breadth_first_search.hpp>
32 #include <boost/pending/property.hpp>
51 typedef boost::adjacency_list<boost::vecS,
70 std::vector<TubeDescriptorType> SearchShortestPath(
76 std::vector<TubeDescriptorType> SearchAllPathBetweenVertices(
78 std::vector<TubeDescriptorType> SearchPathToPeriphery(
100 void RemoveSubGraph(std::vector<TubeDescriptorType> deletedTubes);
103 void SetRoot(
const VertexDescriptorType &root);
105 VertexDescriptorType GetRootVertex();
116 VertexDescriptorType m_Root;
118 void GetOutEdgesOfAVertex(VertexDescriptorType vertex,
120 std::vector<TubeDescriptorType> &pathToPeriphery);
131 : m_OrignialGraph(oldGraph), m_DirectedGraph(newGraph)
137 unsigned int numberSource = boost::source(e, g);
138 unsigned int numberTarget = boost::target(e, g);
139 boost::graph_traits<TubeGraph::DirectedGraphType>::vertex_descriptor source = numberSource;
140 boost::graph_traits<TubeGraph::DirectedGraphType>::vertex_descriptor target = numberTarget;
142 boost::add_edge(source, target, m_DirectedGraph);