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