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