27 #ifndef G2O_AIS_GENERAL_DIJKSTRA_HH 28 #define G2O_AIS_GENERAL_DIJKSTRA_HH 55 double _distance=std::numeric_limits<double>::max());
70 typedef std::map<HyperGraph::Vertex*, AdjacencyMapEntry>
AdjacencyMap;
78 double maxDistance=std::numeric_limits< double >::max(),
79 double comparisonConditioner=1e-3,
81 double maxEdgeCost=std::numeric_limits< double >::max());
85 double maxDistance=std::numeric_limits< double >::max(),
86 double comparisonConditioner=1e-3,
88 double maxEdgeCost=std::numeric_limits< double >::max());
97 double maxEdgeCost=std::numeric_limits< double >::max() );
const HyperGraph::VertexSet & children() const
HyperGraph::VertexSet & visited()
HyperGraph::VertexSet & children()
static void computeTree(AdjacencyMap &amap)
HyperGraph::Vertex * parent() const
HyperGraph::VertexSet _children
std::set< Vertex * > VertexSet
HyperDijkstra(HyperGraph *g)
HyperGraph::Vertex * _parent
TFSIMD_FORCE_INLINE tfScalar distance(const Vector3 &v) const
HyperGraph::Edge * edge() const
HyperGraph::VertexSet _visited
static void connectedSubset(HyperGraph::VertexSet &connected, HyperGraph::VertexSet &visited, HyperGraph::VertexSet &startingSet, HyperGraph *g, HyperGraph::Vertex *v, HyperDijkstra::CostFunction *cost, double distance, double comparisonConditioner, double maxEdgeCost=std::numeric_limits< double >::max())
static void visitAdjacencyMap(AdjacencyMap &amap, TreeAction *action, bool useDistance=false)
void shortestPaths(HyperGraph::Vertex *v, HyperDijkstra::CostFunction *cost, double maxDistance=std::numeric_limits< double >::max(), double comparisonConditioner=1e-3, bool directed=false, double maxEdgeCost=std::numeric_limits< double >::max())
HyperGraph::Vertex * _child
std::map< HyperGraph::Vertex *, AdjacencyMapEntry > AdjacencyMap
abstract Vertex, your types must derive from that one
AdjacencyMap & adjacencyMap()
virtual double operator()(HyperGraph::Edge *e, HyperGraph::Vertex *from, HyperGraph::Vertex *to)=0
AdjacencyMap _adjacencyMap
HyperGraph::Vertex * child() const