32 namespace viros {
namespace topomap {
42 return boost::make_shared<TopoMap>();
45 template<
typename Reflector>
48 r.member(
"Root", mRoot,
"Root node of the map");
63 template <
typename Visitor>
66 mRoot->visitChildNodes(visitor,
true);
92 void dumpGraphviz(std::ostream& os,
bool hideIntraLinks=
false);
96 std::map<GraphElementPtr,std::string> mNames;
void clear()
removes all content and starts with an empty graph
boost::shared_ptr< Link > LinkPtr
Definition: TopoMapFwd.h:89
GraphElementPtr findElement(const std::string &predicate)
Returns the graph element with the given predicate, or NULL if no such element exists.
GatewayNodePtr createGatewayNode(NodePtr node)
boost::shared_ptr< GatewayNode > GatewayNodePtr
Definition: TopoMapFwd.h:87
static NodePtr lowestCommonAncestor(NodePtr m, NodePtr n)
Returns the lowest common ancestor of the two nodes, or rises an XLogical exception, if both nodes are not part of the same TopoMap.
void visitNodes(Visitor &&visitor)
Calls the operator()(NodePtr node) of the given visitor for each node (recurses the tree recursively ...
Definition: TopoMap.h:64
NodePtr getRoot()
Definition: TopoMap.h:57
NodePtr createNode(NodePtr parent=NodePtr())
void reflect(Reflector &r)
Definition: TopoMap.h:46
void dumpGraphviz(std::ostream &os, bool hideIntraLinks=false)
boost::shared_ptr< GraphElement > GraphElementPtr
Definition: TopoMapFwd.h:80
boost::shared_ptr< TopoMap > TopoMapPtr
Definition: TopoMapFwd.h:91
boost::shared_ptr< Node > NodePtr
Definition: TopoMapFwd.h:84
Definition: MetricCostmapTopoMapPlanner.h:45
static TopoMapPtr create()
Definition: TopoMap.h:41
LinkPtr createLink(GatewayNodePtr from, GatewayNodePtr to, bool bidirektional=true, double costs=0.0)