$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-common_msgs/doc_stacks/2013-03-01_14-58-52.505545/common_msgs/nav_msgs/msg/Path.msg */ 00002 #ifndef NAV_MSGS_MESSAGE_PATH_H 00003 #define NAV_MSGS_MESSAGE_PATH_H 00004 #include <string> 00005 #include <vector> 00006 #include <map> 00007 #include <ostream> 00008 #include "ros/serialization.h" 00009 #include "ros/builtin_message_traits.h" 00010 #include "ros/message_operations.h" 00011 #include "ros/time.h" 00012 00013 #include "ros/macros.h" 00014 00015 #include "ros/assert.h" 00016 00017 #include "std_msgs/Header.h" 00018 #include "geometry_msgs/PoseStamped.h" 00019 00020 namespace nav_msgs 00021 { 00022 template <class ContainerAllocator> 00023 struct Path_ { 00024 typedef Path_<ContainerAllocator> Type; 00025 00026 Path_() 00027 : header() 00028 , poses() 00029 { 00030 } 00031 00032 Path_(const ContainerAllocator& _alloc) 00033 : header(_alloc) 00034 , poses(_alloc) 00035 { 00036 } 00037 00038 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00039 ::std_msgs::Header_<ContainerAllocator> header; 00040 00041 typedef std::vector< ::geometry_msgs::PoseStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::other > _poses_type; 00042 std::vector< ::geometry_msgs::PoseStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::other > poses; 00043 00044 00045 ROS_DEPRECATED uint32_t get_poses_size() const { return (uint32_t)poses.size(); } 00046 ROS_DEPRECATED void set_poses_size(uint32_t size) { poses.resize((size_t)size); } 00047 ROS_DEPRECATED void get_poses_vec(std::vector< ::geometry_msgs::PoseStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::other > & vec) const { vec = this->poses; } 00048 ROS_DEPRECATED void set_poses_vec(const std::vector< ::geometry_msgs::PoseStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::other > & vec) { this->poses = vec; } 00049 private: 00050 static const char* __s_getDataType_() { return "nav_msgs/Path"; } 00051 public: 00052 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00053 00054 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00055 00056 private: 00057 static const char* __s_getMD5Sum_() { return "6227e2b7e9cce15051f669a5e197bbf7"; } 00058 public: 00059 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00060 00061 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00062 00063 private: 00064 static const char* __s_getMessageDefinition_() { return "#An array of poses that represents a Path for a robot to follow\n\ 00065 Header header\n\ 00066 geometry_msgs/PoseStamped[] poses\n\ 00067 \n\ 00068 ================================================================================\n\ 00069 MSG: std_msgs/Header\n\ 00070 # Standard metadata for higher-level stamped data types.\n\ 00071 # This is generally used to communicate timestamped data \n\ 00072 # in a particular coordinate frame.\n\ 00073 # \n\ 00074 # sequence ID: consecutively increasing ID \n\ 00075 uint32 seq\n\ 00076 #Two-integer timestamp that is expressed as:\n\ 00077 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00078 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00079 # time-handling sugar is provided by the client library\n\ 00080 time stamp\n\ 00081 #Frame this data is associated with\n\ 00082 # 0: no frame\n\ 00083 # 1: global frame\n\ 00084 string frame_id\n\ 00085 \n\ 00086 ================================================================================\n\ 00087 MSG: geometry_msgs/PoseStamped\n\ 00088 # A Pose with reference coordinate frame and timestamp\n\ 00089 Header header\n\ 00090 Pose pose\n\ 00091 \n\ 00092 ================================================================================\n\ 00093 MSG: geometry_msgs/Pose\n\ 00094 # A representation of pose in free space, composed of postion and orientation. \n\ 00095 Point position\n\ 00096 Quaternion orientation\n\ 00097 \n\ 00098 ================================================================================\n\ 00099 MSG: geometry_msgs/Point\n\ 00100 # This contains the position of a point in free space\n\ 00101 float64 x\n\ 00102 float64 y\n\ 00103 float64 z\n\ 00104 \n\ 00105 ================================================================================\n\ 00106 MSG: geometry_msgs/Quaternion\n\ 00107 # This represents an orientation in free space in quaternion form.\n\ 00108 \n\ 00109 float64 x\n\ 00110 float64 y\n\ 00111 float64 z\n\ 00112 float64 w\n\ 00113 \n\ 00114 "; } 00115 public: 00116 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00117 00118 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00119 00120 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00121 { 00122 ros::serialization::OStream stream(write_ptr, 1000000000); 00123 ros::serialization::serialize(stream, header); 00124 ros::serialization::serialize(stream, poses); 00125 return stream.getData(); 00126 } 00127 00128 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00129 { 00130 ros::serialization::IStream stream(read_ptr, 1000000000); 00131 ros::serialization::deserialize(stream, header); 00132 ros::serialization::deserialize(stream, poses); 00133 return stream.getData(); 00134 } 00135 00136 ROS_DEPRECATED virtual uint32_t serializationLength() const 00137 { 00138 uint32_t size = 0; 00139 size += ros::serialization::serializationLength(header); 00140 size += ros::serialization::serializationLength(poses); 00141 return size; 00142 } 00143 00144 typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> > Ptr; 00145 typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> const> ConstPtr; 00146 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00147 }; // struct Path 00148 typedef ::nav_msgs::Path_<std::allocator<void> > Path; 00149 00150 typedef boost::shared_ptr< ::nav_msgs::Path> PathPtr; 00151 typedef boost::shared_ptr< ::nav_msgs::Path const> PathConstPtr; 00152 00153 00154 template<typename ContainerAllocator> 00155 std::ostream& operator<<(std::ostream& s, const ::nav_msgs::Path_<ContainerAllocator> & v) 00156 { 00157 ros::message_operations::Printer< ::nav_msgs::Path_<ContainerAllocator> >::stream(s, "", v); 00158 return s;} 00159 00160 } // namespace nav_msgs 00161 00162 namespace ros 00163 { 00164 namespace message_traits 00165 { 00166 template<class ContainerAllocator> struct IsMessage< ::nav_msgs::Path_<ContainerAllocator> > : public TrueType {}; 00167 template<class ContainerAllocator> struct IsMessage< ::nav_msgs::Path_<ContainerAllocator> const> : public TrueType {}; 00168 template<class ContainerAllocator> 00169 struct MD5Sum< ::nav_msgs::Path_<ContainerAllocator> > { 00170 static const char* value() 00171 { 00172 return "6227e2b7e9cce15051f669a5e197bbf7"; 00173 } 00174 00175 static const char* value(const ::nav_msgs::Path_<ContainerAllocator> &) { return value(); } 00176 static const uint64_t static_value1 = 0x6227e2b7e9cce150ULL; 00177 static const uint64_t static_value2 = 0x51f669a5e197bbf7ULL; 00178 }; 00179 00180 template<class ContainerAllocator> 00181 struct DataType< ::nav_msgs::Path_<ContainerAllocator> > { 00182 static const char* value() 00183 { 00184 return "nav_msgs/Path"; 00185 } 00186 00187 static const char* value(const ::nav_msgs::Path_<ContainerAllocator> &) { return value(); } 00188 }; 00189 00190 template<class ContainerAllocator> 00191 struct Definition< ::nav_msgs::Path_<ContainerAllocator> > { 00192 static const char* value() 00193 { 00194 return "#An array of poses that represents a Path for a robot to follow\n\ 00195 Header header\n\ 00196 geometry_msgs/PoseStamped[] poses\n\ 00197 \n\ 00198 ================================================================================\n\ 00199 MSG: std_msgs/Header\n\ 00200 # Standard metadata for higher-level stamped data types.\n\ 00201 # This is generally used to communicate timestamped data \n\ 00202 # in a particular coordinate frame.\n\ 00203 # \n\ 00204 # sequence ID: consecutively increasing ID \n\ 00205 uint32 seq\n\ 00206 #Two-integer timestamp that is expressed as:\n\ 00207 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00208 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00209 # time-handling sugar is provided by the client library\n\ 00210 time stamp\n\ 00211 #Frame this data is associated with\n\ 00212 # 0: no frame\n\ 00213 # 1: global frame\n\ 00214 string frame_id\n\ 00215 \n\ 00216 ================================================================================\n\ 00217 MSG: geometry_msgs/PoseStamped\n\ 00218 # A Pose with reference coordinate frame and timestamp\n\ 00219 Header header\n\ 00220 Pose pose\n\ 00221 \n\ 00222 ================================================================================\n\ 00223 MSG: geometry_msgs/Pose\n\ 00224 # A representation of pose in free space, composed of postion and orientation. \n\ 00225 Point position\n\ 00226 Quaternion orientation\n\ 00227 \n\ 00228 ================================================================================\n\ 00229 MSG: geometry_msgs/Point\n\ 00230 # This contains the position of a point in free space\n\ 00231 float64 x\n\ 00232 float64 y\n\ 00233 float64 z\n\ 00234 \n\ 00235 ================================================================================\n\ 00236 MSG: geometry_msgs/Quaternion\n\ 00237 # This represents an orientation in free space in quaternion form.\n\ 00238 \n\ 00239 float64 x\n\ 00240 float64 y\n\ 00241 float64 z\n\ 00242 float64 w\n\ 00243 \n\ 00244 "; 00245 } 00246 00247 static const char* value(const ::nav_msgs::Path_<ContainerAllocator> &) { return value(); } 00248 }; 00249 00250 template<class ContainerAllocator> struct HasHeader< ::nav_msgs::Path_<ContainerAllocator> > : public TrueType {}; 00251 template<class ContainerAllocator> struct HasHeader< const ::nav_msgs::Path_<ContainerAllocator> > : public TrueType {}; 00252 } // namespace message_traits 00253 } // namespace ros 00254 00255 namespace ros 00256 { 00257 namespace serialization 00258 { 00259 00260 template<class ContainerAllocator> struct Serializer< ::nav_msgs::Path_<ContainerAllocator> > 00261 { 00262 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00263 { 00264 stream.next(m.header); 00265 stream.next(m.poses); 00266 } 00267 00268 ROS_DECLARE_ALLINONE_SERIALIZER; 00269 }; // struct Path_ 00270 } // namespace serialization 00271 } // namespace ros 00272 00273 namespace ros 00274 { 00275 namespace message_operations 00276 { 00277 00278 template<class ContainerAllocator> 00279 struct Printer< ::nav_msgs::Path_<ContainerAllocator> > 00280 { 00281 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::nav_msgs::Path_<ContainerAllocator> & v) 00282 { 00283 s << indent << "header: "; 00284 s << std::endl; 00285 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00286 s << indent << "poses[]" << std::endl; 00287 for (size_t i = 0; i < v.poses.size(); ++i) 00288 { 00289 s << indent << " poses[" << i << "]: "; 00290 s << std::endl; 00291 s << indent; 00292 Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + " ", v.poses[i]); 00293 } 00294 } 00295 }; 00296 00297 00298 } // namespace message_operations 00299 } // namespace ros 00300 00301 #endif // NAV_MSGS_MESSAGE_PATH_H 00302