27 #ifndef G2O_ESTIMATE_PROPAGATOR_H    28 #define G2O_ESTIMATE_PROPAGATOR_H    38 #include <unordered_map>    40 #include <tr1/unordered_map>    54       virtual const char* 
name()
 const { 
return "spanning tree";}
    69       virtual const char* 
name()
 const { 
return "odometry";}
    98       class PriorityQueue : 
public std::multimap<double, AdjacencyMapEntry*> {
   138       typedef std::tr1::unordered_map<OptimizableGraph::Vertex*, AdjacencyMapEntry, VertexIDHashFunction> 
AdjacencyMap;
   154           double maxDistance=std::numeric_limits<double>::max(), 
   155           double maxEdgeCost=std::numeric_limits<double>::max());
   163           double maxDistance=std::numeric_limits<double>::max(), 
   164           double maxEdgeCost=std::numeric_limits<double>::max());
 AdjacencyMap _adjacencyMap
int id() const 
returns the id 
PriorityQueue::iterator queueIt
AdjacencyMap & adjacencyMap()
EstimatePropagatorCost(SparseOptimizer *graph)
std::set< Vertex * > VertexSet
OptimizableGraph::VertexSet _visited
propagation of an initial guess 
OptimizableGraph::VertexSet & visited()
OptimizableGraph::VertexSet _parent
Applying the action for propagating. 
virtual double operator()(OptimizableGraph::Edge *edge, const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to_) const 
OptimizableGraph * _graph
OptimizableGraph * graph()
int frontierLevel() const 
data structure for loopuk during Dijkstra 
std::tr1::unordered_map< OptimizableGraph::Vertex *, AdjacencyMapEntry, VertexIDHashFunction > AdjacencyMap
virtual void initialEstimate(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)=0
OptimizableGraph::Vertex * child() const 
OptimizableGraph::Edge * _edge
OptimizableGraph::Vertex * _child
const OptimizableGraph::VertexSet & parent() const 
virtual const char * name() const 
cost for traversing along active edges in the optimizer 
OptimizableGraph::Edge * edge() const 
A general case Vertex for optimization. 
virtual const char * name() const 
bool fixed() const 
true => this node is fixed during the optimization 
virtual void operator()(OptimizableGraph::Edge *e, const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to) const 
cost for traversing only odometry edges. 
EstimatePropagatorCost PropagateCost
hash function for a vertex 
priority queue for AdjacencyMapEntry