Hi All,
I am trying to use the Chrobak_Payne_straight_line_drawing function to get a straight line drawing of a biconnected and maximally planar graph. But I am getting a stackoverflow error in the the Chrobak_Payne_drawing.hpp file. https://docs.google.com/leaf?id=0B4H5FyR7-PhTYTg1ZmFjNDctNmE1ZC00NzYyLWIwM2UtZDljMTQyMzM2MGFh&hl=en this is the link to the screenshot of the stacktrace. The accumulate_offset in the hpp file is being recursively called and hence the stackoverflow. I am not sure whats the cause of this error.
Here is the piece of my code :
embedding_storage_t embedding_storage2(num_vertices(tempGraph));
embedding_t embedding2(embedding_storage2.begin(), get(vertex_index,tempGraph));
isplanar = boyer_myrvold_planarity_test(boyer_myrvold_params::graph = tempGraph,
boyer_myrvold_params::embedding = &embedding2[0]
);
// Find a canonical ordering
typedef std::vector<graph_traits<Graph>::vertex_descriptor> ordering_storage_t;
ordering_storage_t ordering;
planar_canonical_ordering(tempGraph, embedding2, std::back_inserter(ordering));
ordering_storage_t::iterator oi;
for ( oi = ordering.begin();oi!=ordering.end();oi++)
cout<<*oi<<endl;
//Set up a property map to hold the mapping from vertices to coord_t's
typedef std::vector< planar_coord > straight_line_drawing_storage_t;
typedef boost::iterator_property_map
<straight_line_drawing_storage_t::iterator,property_map<Graph, vertex_index_t>::type> straight_line_drawing_t;
straight_line_drawing_storage_t straight_line_drawing_storage(num_vertices(tempGraph));
straight_line_drawing_t straight_line_drawing(straight_line_drawing_storage.begin(),get(vertex_index,tempGraph));
chrobak_payne_straight_line_drawing(tempGraph,
embedding2,
ordering.begin(),
ordering.end(),
straight_line_drawing
);
Also the same code works in some cases when the size of the graphs is small, but as the size of the graph grows I am getting this stackoverflow error. Could anyone kindly letme know why this error occurs and if there is any other extra care I need to take care off ?
Thanks,
Nishchal.
--
Nishchal Devanur