Boost logo

Boost Users :

Subject: Re: [Boost-users] Default weight map doesn't work for weighted grid graph in A-star search
From: W.P. McNeill (billmcn_at_[hidden])
Date: 2010-07-14 18:43:08


On Wed, Jul 14, 2010 at 3:16 PM, Jeremiah Willcock <jewillco_at_[hidden]>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().
>
> Change r64024 looks like it introduced a regression. I now get the
following build error in astar-maze that wasn't there before:

g++ -g -I/src/boost-trunk -Wall -Werror -O3 -c -o astar_maze.o
astar_maze.cpp
/src/boost-trunk/boost/graph/astar_search.hpp: In function ‘void
boost::astar_search(const VertexListGraph&, typename
boost::graph_traits<G>::vertex_descriptor, AStarHeuristic, const
boost::bgl_named_params<P, T, R>&) [with VertexListGraph = filtered_grid,
AStarHeuristic = euclidean_heuristic, P = astar_goal_visitor, T =
boost::graph_visitor_t, R =
boost::bgl_named_params<boost::associative_property_map<maze::solve()::dist_map>,
boost::vertex_distance_t,
boost::bgl_named_params<boost::associative_property_map<maze::solve()::pred_map>,
boost::vertex_predecessor_t, boost::bgl_named_params<vertex_index_pmap,
boost::vertex_index_t,
boost::bgl_named_params<maze::solve()::edge_weight_pmap,
boost::edge_weight_t, boost::no_property> > > >]’:
astar_maze.cpp:242: instantiated from here
/src/boost-trunk/boost/graph/astar_search.hpp:329: error:
‘override_const_property’ was not declared in this scope
make: *** [astar_maze.o] Error 1

As a wild guess I tried building with detail::override_const_property but
got the same error.

>
> 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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



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