On Wed, Jul 14, 2010 at 3:16 PM, Jeremiah Willcock <jewillco@osl.iu.edu> wrote:
On Wed, 14 Jul 2010, W.P. McNeill wrote:

I verified the documentation changes for grid graph indexing calls and A* visitors.  Looks good. Now doing edge weights with a static_property_map<>.

OK.


I've duplicated relevant information from the README at the top of maze.cpp, so README doesn't need to be included in the Boost examples.

I found that I have to implement my own vertex index map, though I'm not sure exactly why.  If I remove all my vertex index map code and call A* with the
default map like so:

    astar_search(m_barrier_grid,
                 source(),
                 heuristic,
                 boost::weight_map(weight).
                 predecessor_map(pred_pmap).
                 distance_map(dist_pmap).
                 visitor(visitor) );

I get the following error:
(snip)

That is a bug in astar_search().  Please try with the latest Boost trunk and see if it works.  I also added named parameters to astar_search_no_init().

I tried building with the default index map again against the Boost tree at version 64026 and got the same error as before:

graph_traits.hpp:226: error: no type named ‘vertex_property_type’ in ‘class grid’
 
I noticed that the documentation for the the vertex_index_map parameter says that the graph must have an internal vertex_index property.  Could this be the problem?  If I try to add the following line to a working build:

typedef grid::vertex_index grid_vertex_index;

I get this error:

g++ -g -I/src/boost-trunk -Wall -Werror -O3   -c -o astar_maze.o astar_maze.cpp
astar_maze.cpp:62: error: ‘vertex_index’ in class ‘grid’ does not name a type




I was surprised by this because I expected the filtered graph to inherit the grid graph's vertex index map like you describe.

That is what it should do.

-- Jeremiah Willcock

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users