30 namespace viros {
namespace topomap {
96 void computeIntraLinkCosts(
NodePtr node);
115 typedef std::priority_queue<GatewayCostPair>
OpenList;
132 return std::numeric_limits<double>::max();
151 boost::function<void(NodePtr)> mLeafCostFunction;
153 typedef std::map<std::string, double> AdditionalCostMap;
154 AdditionalCostMap mAdditionalLinkCosts;
std::list< DbgHopInfo > dbgHops
Definition: TopoMapPlanner.h:146
double costs
Definition: TopoMapPlanner.h:139
DbgHopInfo()
Definition: TopoMapPlanner.h:142
DbgHopInfo(GatewayNodePtr gw, double costs, int hops)
Definition: TopoMapPlanner.h:143
double costs
Definition: TopoMapPlanner.h:101
void clearAllConnecitvityViolations(TopoMapPtr map)
Clears all set and inferred flags of violated connectivity assumptions and hence resets the topologic...
boost::shared_ptr< GatewayNode > GatewayNodePtr
Definition: TopoMapFwd.h:87
bool isConnectivityViolated(NodePtr node) const
Returns true, if the full connectivity assumption of the given node is known to be violated...
Definition: TopoMapPlanner.h:117
CostInfo()
Definition: TopoMapPlanner.h:121
GatewayNodePtr node
Definition: TopoMapPlanner.h:100
std::set< NodePtr, shared_ptr_sort< Node > > NodeSet
Definition: TopoMapFwd.h:101
GatewayCostPair()
Definition: TopoMapPlanner.h:104
bool dbgEnabled
Definition: TopoMapPlanner.h:147
void precomputeCosts(TopoMapPtr map)
void setLeafCostFunction(boost::function< void(NodePtr)> fn)
Sets function for computing intra costs in leaf nodes.
std::priority_queue< GatewayCostPair > OpenList
Definition: TopoMapPlanner.h:115
void setAdditionalLinkCosts(const std::string &fromGWName, const std::string &toGWName, double costs)
Define additional costs for a specific link.
int hops
Definition: TopoMapPlanner.h:102
CostInfo(double c, int h)
Definition: TopoMapPlanner.h:122
GatewayNodePtr gw
Definition: TopoMapPlanner.h:138
static double infinity()
"infinity" costs, indicating that a link is blocked
Definition: TopoMapPlanner.h:131
void setConnectivityViolated(NodePtr node, bool isViolated=true)
Explicitly informs the TopoMapPlanner, that the general assumption, that the given node is fully conn...
bool propagateWavefront(OpenList &Q, VisitedList &V, const NodeSet &localizedNodes=NodeSet(), const NodeSet &ancestors=NodeSet())
int hops
Definition: TopoMapPlanner.h:140
Definition: TopoMapPlanner.h:99
void prepareWavefront(OpenList &Q, const VisitedList &V)
boost::shared_ptr< TopoMap > TopoMapPtr
Definition: TopoMapFwd.h:91
boost::shared_ptr< Node > NodePtr
Definition: TopoMapFwd.h:84
Definition: MetricCostmapTopoMapPlanner.h:45
Definition: TopoMapPlanner.h:137
bool operator<(const GatewayCostPair &other) const
Definition: TopoMapPlanner.h:108
GatewayCostPair(GatewayNodePtr n, double c, int h=0)
Definition: TopoMapPlanner.h:105
Definition: TopoMapPlanner.h:34
std::map< GatewayNodePtr, CostInfo > VisitedList
Definition: TopoMapPlanner.h:125
void resetAllAdditionalLinkCosts()
Reset all additional gateways costs to zero.
double costs
Definition: TopoMapPlanner.h:118
void propagateUpdatedCosts(NodePtr node)
Needs to be called whenever the costs between the gateways of the given node have been modified (intr...
int hops
Definition: TopoMapPlanner.h:119