|
Boost Users : |
Subject: [Boost-users] Stack over flow error in the Chrobak_Payne_drawing.hpp
From: Nishchal Devnur (nishchal.devnur_at_[hidden])
Date: 2011-05-13 12:47:15
> 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=enthis 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
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net