Go to the documentation of this file.00001
00026 #ifndef _TOPOLOGICAL_NODE_H_
00027 #define _TOPOLOGICAL_NODE_H_
00028
00029 #include <ros/ros.h>
00030 #include <geometry_msgs/Pose.h>
00031
00032 #include <boost/shared_ptr.hpp>
00033
00034
00035
00036 namespace topological_tools
00037 {
00038 class TopologicalNode
00039 {
00040 public:
00041 TopologicalNode ( const geometry_msgs::Pose& goal, const std::string& name );
00042
00043 void connect ( boost::shared_ptr<TopologicalNode> tpn, const std::string& connection_label );
00044 boost::shared_ptr<TopologicalNode> getConnection ( const std::string& connection_label );
00045
00046 bool hasConnection ( const std::string& connection_label );
00047 const geometry_msgs::Pose& getGoalPose();
00048 const std::string& getName();
00049
00050 private:
00051 geometry_msgs::Pose goal_;
00052 std::string name_;
00053
00054 std::map<std::string, boost::shared_ptr<TopologicalNode> > connections_;
00055 };
00056 }
00057
00058 #endif