Hello,
I try to use prim_minimum_spanning_tree to find rings in subgraphs doing
the following:
typedef subgraph< adjacency_list > Graph;
/... building Graph g with some vertices and edges
for(int i=0; i<7; ++i)
{
add_vertex(g);
LAMath::Vec3_f tVec((float)i, (float)(6-i), .0);
put(vertex_point_t(), g, i, tVec);
}
property_map::type weightmap = get(edge_weight,
g);
Edge e; bool inserted;
tie(e, inserted) = add_edge(0, 1, g);
weightmap[e] = 1;
tie(e, inserted) = add_edge(1, 2, g);
weightmap[e] = 1;
tie(e, inserted) = add_edge(2, 3, g);
.../
Graph tSubGraph = g.create_subgraph();
add_vertex(1, tSubGraph);
add_vertex(3, tSubGraph);
add_vertex(4, tSubGraph);
add_vertex(6, tSubGraph);
std::vector < graph_traits < Graph >::vertex_descriptor >
p(num_vertices(tSubGraph));
prim_minimum_spanning_tree(tSubGraph, &p[0]);
After having created the graph g, I call the create_subgraph member
function to get an induced subgraph of it. Trying to use the
prim_minimum_spanning_tree function it crashes in dijkstra_dispatch1 by
trying to delete the local variable std::vector<D> distance_map(n).
Is there something missing in my code which leads to that crash?
It works for the root graph but not for any new created subgraph.
Help would be appreciated.
Thanks in advance
Stephan