00001
00002 #ifndef TOPOLOGICAL_NAV_MSGS_MESSAGE_TOPOLOGICALMAPEDGE_H
00003 #define TOPOLOGICAL_NAV_MSGS_MESSAGE_TOPOLOGICALMAPEDGE_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "geometry_msgs/Pose.h"
00014
00015 namespace topological_nav_msgs
00016 {
00017 template <class ContainerAllocator>
00018 struct TopologicalMapEdge_ : public ros::Message
00019 {
00020 typedef TopologicalMapEdge_<ContainerAllocator> Type;
00021
00022 TopologicalMapEdge_()
00023 : id(0)
00024 , src(0)
00025 , dest(0)
00026 , offset()
00027 {
00028 }
00029
00030 TopologicalMapEdge_(const ContainerAllocator& _alloc)
00031 : id(0)
00032 , src(0)
00033 , dest(0)
00034 , offset(_alloc)
00035 {
00036 }
00037
00038 typedef uint32_t _id_type;
00039 uint32_t id;
00040
00041 typedef uint32_t _src_type;
00042 uint32_t src;
00043
00044 typedef uint32_t _dest_type;
00045 uint32_t dest;
00046
00047 typedef ::geometry_msgs::Pose_<ContainerAllocator> _offset_type;
00048 ::geometry_msgs::Pose_<ContainerAllocator> offset;
00049
00050
00051 private:
00052 static const char* __s_getDataType_() { return "topological_nav_msgs/TopologicalMapEdge"; }
00053 public:
00054 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00055
00056 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00057
00058 private:
00059 static const char* __s_getMD5Sum_() { return "dff6569149701e0971e585b9fd6fe1e7"; }
00060 public:
00061 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00062
00063 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00064
00065 private:
00066 static const char* __s_getMessageDefinition_() { return "# Info stored with an edge in 2d topological map\n\
00067 \n\
00068 # Id of this edge in the topological map\n\
00069 uint32 id\n\
00070 \n\
00071 # Id of the source node\n\
00072 uint32 src\n\
00073 \n\
00074 # Id of the destination node\n\
00075 uint32 dest\n\
00076 \n\
00077 # Pose of origin of destination node's coordinate frame\n\
00078 # represented in the source node's coordinate frame\n\
00079 geometry_msgs/Pose offset\n\
00080 \n\
00081 ================================================================================\n\
00082 MSG: geometry_msgs/Pose\n\
00083 # A representation of pose in free space, composed of postion and orientation. \n\
00084 Point position\n\
00085 Quaternion orientation\n\
00086 \n\
00087 ================================================================================\n\
00088 MSG: geometry_msgs/Point\n\
00089 # This contains the position of a point in free space\n\
00090 float64 x\n\
00091 float64 y\n\
00092 float64 z\n\
00093 \n\
00094 ================================================================================\n\
00095 MSG: geometry_msgs/Quaternion\n\
00096 # This represents an orientation in free space in quaternion form.\n\
00097 \n\
00098 float64 x\n\
00099 float64 y\n\
00100 float64 z\n\
00101 float64 w\n\
00102 \n\
00103 "; }
00104 public:
00105 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00106
00107 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00108
00109 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00110 {
00111 ros::serialization::OStream stream(write_ptr, 1000000000);
00112 ros::serialization::serialize(stream, id);
00113 ros::serialization::serialize(stream, src);
00114 ros::serialization::serialize(stream, dest);
00115 ros::serialization::serialize(stream, offset);
00116 return stream.getData();
00117 }
00118
00119 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00120 {
00121 ros::serialization::IStream stream(read_ptr, 1000000000);
00122 ros::serialization::deserialize(stream, id);
00123 ros::serialization::deserialize(stream, src);
00124 ros::serialization::deserialize(stream, dest);
00125 ros::serialization::deserialize(stream, offset);
00126 return stream.getData();
00127 }
00128
00129 ROS_DEPRECATED virtual uint32_t serializationLength() const
00130 {
00131 uint32_t size = 0;
00132 size += ros::serialization::serializationLength(id);
00133 size += ros::serialization::serializationLength(src);
00134 size += ros::serialization::serializationLength(dest);
00135 size += ros::serialization::serializationLength(offset);
00136 return size;
00137 }
00138
00139 typedef boost::shared_ptr< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> > Ptr;
00140 typedef boost::shared_ptr< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> const> ConstPtr;
00141 };
00142 typedef ::topological_nav_msgs::TopologicalMapEdge_<std::allocator<void> > TopologicalMapEdge;
00143
00144 typedef boost::shared_ptr< ::topological_nav_msgs::TopologicalMapEdge> TopologicalMapEdgePtr;
00145 typedef boost::shared_ptr< ::topological_nav_msgs::TopologicalMapEdge const> TopologicalMapEdgeConstPtr;
00146
00147
00148 template<typename ContainerAllocator>
00149 std::ostream& operator<<(std::ostream& s, const ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> & v)
00150 {
00151 ros::message_operations::Printer< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> >::stream(s, "", v);
00152 return s;}
00153
00154 }
00155
00156 namespace ros
00157 {
00158 namespace message_traits
00159 {
00160 template<class ContainerAllocator>
00161 struct MD5Sum< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> > {
00162 static const char* value()
00163 {
00164 return "dff6569149701e0971e585b9fd6fe1e7";
00165 }
00166
00167 static const char* value(const ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> &) { return value(); }
00168 static const uint64_t static_value1 = 0xdff6569149701e09ULL;
00169 static const uint64_t static_value2 = 0x71e585b9fd6fe1e7ULL;
00170 };
00171
00172 template<class ContainerAllocator>
00173 struct DataType< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> > {
00174 static const char* value()
00175 {
00176 return "topological_nav_msgs/TopologicalMapEdge";
00177 }
00178
00179 static const char* value(const ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> &) { return value(); }
00180 };
00181
00182 template<class ContainerAllocator>
00183 struct Definition< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> > {
00184 static const char* value()
00185 {
00186 return "# Info stored with an edge in 2d topological map\n\
00187 \n\
00188 # Id of this edge in the topological map\n\
00189 uint32 id\n\
00190 \n\
00191 # Id of the source node\n\
00192 uint32 src\n\
00193 \n\
00194 # Id of the destination node\n\
00195 uint32 dest\n\
00196 \n\
00197 # Pose of origin of destination node's coordinate frame\n\
00198 # represented in the source node's coordinate frame\n\
00199 geometry_msgs/Pose offset\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: geometry_msgs/Pose\n\
00203 # A representation of pose in free space, composed of postion and orientation. \n\
00204 Point position\n\
00205 Quaternion orientation\n\
00206 \n\
00207 ================================================================================\n\
00208 MSG: geometry_msgs/Point\n\
00209 # This contains the position of a point in free space\n\
00210 float64 x\n\
00211 float64 y\n\
00212 float64 z\n\
00213 \n\
00214 ================================================================================\n\
00215 MSG: geometry_msgs/Quaternion\n\
00216 # This represents an orientation in free space in quaternion form.\n\
00217 \n\
00218 float64 x\n\
00219 float64 y\n\
00220 float64 z\n\
00221 float64 w\n\
00222 \n\
00223 ";
00224 }
00225
00226 static const char* value(const ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> &) { return value(); }
00227 };
00228
00229 template<class ContainerAllocator> struct IsFixedSize< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> > : public TrueType {};
00230 }
00231 }
00232
00233 namespace ros
00234 {
00235 namespace serialization
00236 {
00237
00238 template<class ContainerAllocator> struct Serializer< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> >
00239 {
00240 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00241 {
00242 stream.next(m.id);
00243 stream.next(m.src);
00244 stream.next(m.dest);
00245 stream.next(m.offset);
00246 }
00247
00248 ROS_DECLARE_ALLINONE_SERIALIZER;
00249 };
00250 }
00251 }
00252
00253 namespace ros
00254 {
00255 namespace message_operations
00256 {
00257
00258 template<class ContainerAllocator>
00259 struct Printer< ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> >
00260 {
00261 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::topological_nav_msgs::TopologicalMapEdge_<ContainerAllocator> & v)
00262 {
00263 s << indent << "id: ";
00264 Printer<uint32_t>::stream(s, indent + " ", v.id);
00265 s << indent << "src: ";
00266 Printer<uint32_t>::stream(s, indent + " ", v.src);
00267 s << indent << "dest: ";
00268 Printer<uint32_t>::stream(s, indent + " ", v.dest);
00269 s << indent << "offset: ";
00270 s << std::endl;
00271 Printer< ::geometry_msgs::Pose_<ContainerAllocator> >::stream(s, indent + " ", v.offset);
00272 }
00273 };
00274
00275
00276 }
00277 }
00278
00279 #endif // TOPOLOGICAL_NAV_MSGS_MESSAGE_TOPOLOGICALMAPEDGE_H
00280