LEMUR Packages: ompl_lemur or_lemur pr_bgl prpy_lemur
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
pr_bgl::lazysp_incsp_incbi< Graph, ActualWMap, StartPredecessorMap, StartDistanceMap, StartDistanceLookaheadMap, GoalPredecessorMap, GoalDistanceMap, GoalDistanceLookaheadMap, EdgeIndexMap, EdgeVectorMap, CompareFunction, CombineFunction, IncBiVisitor, IncBiBalancer > Class Template Reference

Adaptor to use pr_bgl::incbi as the inner sp algorithm for pr_bgl::lazysp. More...

#include <lazysp_incsp_incbi.h>

Public Types

typedef boost::graph_traits
< Graph >::vertex_descriptor 
Vertex
 
typedef boost::graph_traits
< Graph >::edge_descriptor 
Edge
 
typedef boost::property_traits
< ActualWMap >::value_type 
weight_type
 
typedef boost::property_map
< Graph, boost::vertex_index_t >
::type 
VIndexMap
 

Public Member Functions

 lazysp_incsp_incbi (Graph &g, Vertex v_start, Vertex v_goal, ActualWMap w_map, StartPredecessorMap start_predecessor, StartDistanceMap start_distance, StartDistanceLookaheadMap start_distance_lookahead, GoalPredecessorMap goal_predecessor, GoalDistanceMap goal_distance, GoalDistanceLookaheadMap goal_distance_lookahead, EdgeIndexMap edge_index_map, EdgeVectorMap edge_vector_map, weight_type goal_margin, CompareFunction compare, CombineFunction combine, weight_type inf, weight_type zero, IncBiVisitor vis, IncBiBalancer balancer)
 
template<typename LazySPWMap >
weight_type solve (const Graph &g, Vertex v_start, Vertex v_goal, LazySPWMap wmap, std::vector< Edge > &path)
 
void update_notify (Edge euv)
 

Public Attributes

Graph & g
 
Vertex v_start
 
Vertex v_goal
 
ActualWMap w_map
 
StartPredecessorMap start_predecessor
 
StartDistanceMap start_distance
 
GoalPredecessorMap goal_predecessor
 
GoalDistanceMap goal_distance
 
EdgeVectorMap edge_vector_map
 
weight_type inf
 
pr_bgl::incbi< Graph,
StartPredecessorMap,
StartDistanceMap,
StartDistanceLookaheadMap,
GoalPredecessorMap,
GoalDistanceMap,
GoalDistanceLookaheadMap,
ActualWMap, VIndexMap,
lazysp_incsp_incbi_edge_index_adaptor
< Graph, EdgeIndexMap >
, CompareFunction,
CombineFunction, weight_type,
weight_type, IncBiVisitor,
IncBiBalancer > 
incbi
 

Detailed Description

template<class Graph, class ActualWMap, class StartPredecessorMap, class StartDistanceMap, class StartDistanceLookaheadMap, class GoalPredecessorMap, class GoalDistanceMap, class GoalDistanceLookaheadMap, class EdgeIndexMap, class EdgeVectorMap, typename CompareFunction, typename CombineFunction, class IncBiVisitor, class IncBiBalancer>
class pr_bgl::lazysp_incsp_incbi< Graph, ActualWMap, StartPredecessorMap, StartDistanceMap, StartDistanceLookaheadMap, GoalPredecessorMap, GoalDistanceMap, GoalDistanceLookaheadMap, EdgeIndexMap, EdgeVectorMap, CompareFunction, CombineFunction, IncBiVisitor, IncBiBalancer >

Adaptor to use pr_bgl::incbi as the inner sp algorithm for pr_bgl::lazysp.

solve returns weight_type::max if a non-infinite path is found

solve is always called with the same g,v_start,v_goal

the edge indices that the inner incbi thinks its working with are adapted:

the heap index that's used is the edge index << 1
with the lsb=0: lower vertex index is start-side
      or lsb=1: lower vertex index is goal-side

due to wincbi stuff, wmap is not necessarily symmetric!


The documentation for this class was generated from the following file: