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_selector_partition_all< Graph, WLazyMap > Class Template Reference

Adaptor to use non-matrix partition_all functions as a selector for pr_bgl::lazysp. More...

#include <lazysp_selector_partition_all.h>

Public Types

typedef boost::graph_traits
< Graph >::vertex_descriptor 
Vertex
 
typedef boost::graph_traits
< Graph >::edge_descriptor 
Edge
 
typedef boost::graph_traits
< Graph >::edge_iterator 
EdgeIter
 
typedef boost::property_map
< Graph, boost::vertex_index_t >
::type 
VerIndexMap
 
typedef pr_bgl::pair_index_map
< Vertex, VerIndexMap > 
VerPairIndexMap
 
typedef
boost::vector_property_map
< double, VerIndexMap > 
VerVector
 
typedef
boost::vector_property_map
< double, VerPairIndexMap
VerPairVector
 

Public Member Functions

 lazysp_selector_partition_all (const Graph &g, WLazyMap w_lazy_map, double len_ref, Vertex v_start, Vertex v_goal, bool do_fake_roots)
 
void get_to_evaluate (const Graph &g, const std::vector< std::pair< Edge, bool > > &path, std::vector< Edge > &to_evaluate)
 
template<class Edge , class WeightType >
void update_notify (Edge e, WeightType e_weight_old)
 

Public Attributes

const Graph & g
 
WLazyMap w_lazy_map
 
const double len_ref
 
const Vertex v_start
 
const Vertex v_goal
 
const bool do_fake_roots
 
VerVector temp1
 
VerVector temp2
 
VerPairVector coupling_map
 

Detailed Description

template<class Graph, class WLazyMap>
class pr_bgl::lazysp_selector_partition_all< Graph, WLazyMap >

Adaptor to use non-matrix partition_all functions as a selector for pr_bgl::lazysp.

for now, this assumes g is an undirected graph

we include a do_fake_roots parameter (default: false) when this parameter is set, then edges TO the start and edges FROM the goal are IGNORED (this way, the oppposite edges can have 0 weight) (this is accounted for on both initial add and incremental updates)

also, if do_fake_roots is set, then the first and last edges on the path are always scored 1.0 (highest) and will therefore always be evaluated first


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