Go to the documentation of this file.00001
00002 #ifndef HECTOR_NAV_MSGS_SERVICE_GETRECOVERYINFO_H
00003 #define HECTOR_NAV_MSGS_SERVICE_GETRECOVERYINFO_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 "ros/service_traits.h"
00018
00019
00020
00021 #include "nav_msgs/Path.h"
00022 #include "geometry_msgs/PoseStamped.h"
00023 #include "geometry_msgs/PoseStamped.h"
00024
00025 namespace hector_nav_msgs
00026 {
00027 template <class ContainerAllocator>
00028 struct GetRecoveryInfoRequest_ {
00029 typedef GetRecoveryInfoRequest_<ContainerAllocator> Type;
00030
00031 GetRecoveryInfoRequest_()
00032 : request_time()
00033 , request_radius(0.0)
00034 {
00035 }
00036
00037 GetRecoveryInfoRequest_(const ContainerAllocator& _alloc)
00038 : request_time()
00039 , request_radius(0.0)
00040 {
00041 }
00042
00043 typedef ros::Time _request_time_type;
00044 ros::Time request_time;
00045
00046 typedef double _request_radius_type;
00047 double request_radius;
00048
00049
00050 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > Ptr;
00051 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> const> ConstPtr;
00052 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00053 };
00054 typedef ::hector_nav_msgs::GetRecoveryInfoRequest_<std::allocator<void> > GetRecoveryInfoRequest;
00055
00056 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoRequest> GetRecoveryInfoRequestPtr;
00057 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoRequest const> GetRecoveryInfoRequestConstPtr;
00058
00059
00060 template <class ContainerAllocator>
00061 struct GetRecoveryInfoResponse_ {
00062 typedef GetRecoveryInfoResponse_<ContainerAllocator> Type;
00063
00064 GetRecoveryInfoResponse_()
00065 : trajectory_radius_entry_pose_to_req_pose()
00066 , radius_entry_pose()
00067 , req_pose()
00068 {
00069 }
00070
00071 GetRecoveryInfoResponse_(const ContainerAllocator& _alloc)
00072 : trajectory_radius_entry_pose_to_req_pose(_alloc)
00073 , radius_entry_pose(_alloc)
00074 , req_pose(_alloc)
00075 {
00076 }
00077
00078 typedef ::nav_msgs::Path_<ContainerAllocator> _trajectory_radius_entry_pose_to_req_pose_type;
00079 ::nav_msgs::Path_<ContainerAllocator> trajectory_radius_entry_pose_to_req_pose;
00080
00081 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _radius_entry_pose_type;
00082 ::geometry_msgs::PoseStamped_<ContainerAllocator> radius_entry_pose;
00083
00084 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _req_pose_type;
00085 ::geometry_msgs::PoseStamped_<ContainerAllocator> req_pose;
00086
00087
00088 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > Ptr;
00089 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> const> ConstPtr;
00090 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00091 };
00092 typedef ::hector_nav_msgs::GetRecoveryInfoResponse_<std::allocator<void> > GetRecoveryInfoResponse;
00093
00094 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoResponse> GetRecoveryInfoResponsePtr;
00095 typedef boost::shared_ptr< ::hector_nav_msgs::GetRecoveryInfoResponse const> GetRecoveryInfoResponseConstPtr;
00096
00097 struct GetRecoveryInfo
00098 {
00099
00100 typedef GetRecoveryInfoRequest Request;
00101 typedef GetRecoveryInfoResponse Response;
00102 Request request;
00103 Response response;
00104
00105 typedef Request RequestType;
00106 typedef Response ResponseType;
00107 };
00108 }
00109
00110 namespace ros
00111 {
00112 namespace message_traits
00113 {
00114 template<class ContainerAllocator> struct IsMessage< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > : public TrueType {};
00115 template<class ContainerAllocator> struct IsMessage< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> const> : public TrueType {};
00116 template<class ContainerAllocator>
00117 struct MD5Sum< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "3916a0c55958d5dd43204cd2fe5608f6";
00121 }
00122
00123 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> &) { return value(); }
00124 static const uint64_t static_value1 = 0x3916a0c55958d5ddULL;
00125 static const uint64_t static_value2 = 0x43204cd2fe5608f6ULL;
00126 };
00127
00128 template<class ContainerAllocator>
00129 struct DataType< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > {
00130 static const char* value()
00131 {
00132 return "hector_nav_msgs/GetRecoveryInfoRequest";
00133 }
00134
00135 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> &) { return value(); }
00136 };
00137
00138 template<class ContainerAllocator>
00139 struct Definition< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > {
00140 static const char* value()
00141 {
00142 return "\n\
00143 \n\
00144 \n\
00145 \n\
00146 time request_time\n\
00147 float64 request_radius\n\
00148 \n\
00149 ";
00150 }
00151
00152 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> &) { return value(); }
00153 };
00154
00155 template<class ContainerAllocator> struct IsFixedSize< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > : public TrueType {};
00156 }
00157 }
00158
00159
00160 namespace ros
00161 {
00162 namespace message_traits
00163 {
00164 template<class ContainerAllocator> struct IsMessage< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > : public TrueType {};
00165 template<class ContainerAllocator> struct IsMessage< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> const> : public TrueType {};
00166 template<class ContainerAllocator>
00167 struct MD5Sum< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > {
00168 static const char* value()
00169 {
00170 return "a93581be8e34e3c09aeafc6b9b990ad5";
00171 }
00172
00173 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> &) { return value(); }
00174 static const uint64_t static_value1 = 0xa93581be8e34e3c0ULL;
00175 static const uint64_t static_value2 = 0x9aeafc6b9b990ad5ULL;
00176 };
00177
00178 template<class ContainerAllocator>
00179 struct DataType< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > {
00180 static const char* value()
00181 {
00182 return "hector_nav_msgs/GetRecoveryInfoResponse";
00183 }
00184
00185 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> &) { return value(); }
00186 };
00187
00188 template<class ContainerAllocator>
00189 struct Definition< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > {
00190 static const char* value()
00191 {
00192 return "nav_msgs/Path trajectory_radius_entry_pose_to_req_pose\n\
00193 geometry_msgs/PoseStamped radius_entry_pose\n\
00194 geometry_msgs/PoseStamped req_pose\n\
00195 \n\
00196 \n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: nav_msgs/Path\n\
00200 #An array of poses that represents a Path for a robot to follow\n\
00201 Header header\n\
00202 geometry_msgs/PoseStamped[] poses\n\
00203 \n\
00204 ================================================================================\n\
00205 MSG: std_msgs/Header\n\
00206 # Standard metadata for higher-level stamped data types.\n\
00207 # This is generally used to communicate timestamped data \n\
00208 # in a particular coordinate frame.\n\
00209 # \n\
00210 # sequence ID: consecutively increasing ID \n\
00211 uint32 seq\n\
00212 #Two-integer timestamp that is expressed as:\n\
00213 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00214 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00215 # time-handling sugar is provided by the client library\n\
00216 time stamp\n\
00217 #Frame this data is associated with\n\
00218 # 0: no frame\n\
00219 # 1: global frame\n\
00220 string frame_id\n\
00221 \n\
00222 ================================================================================\n\
00223 MSG: geometry_msgs/PoseStamped\n\
00224 # A Pose with reference coordinate frame and timestamp\n\
00225 Header header\n\
00226 Pose pose\n\
00227 \n\
00228 ================================================================================\n\
00229 MSG: geometry_msgs/Pose\n\
00230 # A representation of pose in free space, composed of postion and orientation. \n\
00231 Point position\n\
00232 Quaternion orientation\n\
00233 \n\
00234 ================================================================================\n\
00235 MSG: geometry_msgs/Point\n\
00236 # This contains the position of a point in free space\n\
00237 float64 x\n\
00238 float64 y\n\
00239 float64 z\n\
00240 \n\
00241 ================================================================================\n\
00242 MSG: geometry_msgs/Quaternion\n\
00243 # This represents an orientation in free space in quaternion form.\n\
00244 \n\
00245 float64 x\n\
00246 float64 y\n\
00247 float64 z\n\
00248 float64 w\n\
00249 \n\
00250 ";
00251 }
00252
00253 static const char* value(const ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> &) { return value(); }
00254 };
00255
00256 }
00257 }
00258
00259 namespace ros
00260 {
00261 namespace serialization
00262 {
00263
00264 template<class ContainerAllocator> struct Serializer< ::hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> >
00265 {
00266 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00267 {
00268 stream.next(m.request_time);
00269 stream.next(m.request_radius);
00270 }
00271
00272 ROS_DECLARE_ALLINONE_SERIALIZER;
00273 };
00274 }
00275 }
00276
00277
00278 namespace ros
00279 {
00280 namespace serialization
00281 {
00282
00283 template<class ContainerAllocator> struct Serializer< ::hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> >
00284 {
00285 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00286 {
00287 stream.next(m.trajectory_radius_entry_pose_to_req_pose);
00288 stream.next(m.radius_entry_pose);
00289 stream.next(m.req_pose);
00290 }
00291
00292 ROS_DECLARE_ALLINONE_SERIALIZER;
00293 };
00294 }
00295 }
00296
00297 namespace ros
00298 {
00299 namespace service_traits
00300 {
00301 template<>
00302 struct MD5Sum<hector_nav_msgs::GetRecoveryInfo> {
00303 static const char* value()
00304 {
00305 return "edd6e579a08e5c27f2b7fcfa4c39b7bb";
00306 }
00307
00308 static const char* value(const hector_nav_msgs::GetRecoveryInfo&) { return value(); }
00309 };
00310
00311 template<>
00312 struct DataType<hector_nav_msgs::GetRecoveryInfo> {
00313 static const char* value()
00314 {
00315 return "hector_nav_msgs/GetRecoveryInfo";
00316 }
00317
00318 static const char* value(const hector_nav_msgs::GetRecoveryInfo&) { return value(); }
00319 };
00320
00321 template<class ContainerAllocator>
00322 struct MD5Sum<hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > {
00323 static const char* value()
00324 {
00325 return "edd6e579a08e5c27f2b7fcfa4c39b7bb";
00326 }
00327
00328 static const char* value(const hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> &) { return value(); }
00329 };
00330
00331 template<class ContainerAllocator>
00332 struct DataType<hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> > {
00333 static const char* value()
00334 {
00335 return "hector_nav_msgs/GetRecoveryInfo";
00336 }
00337
00338 static const char* value(const hector_nav_msgs::GetRecoveryInfoRequest_<ContainerAllocator> &) { return value(); }
00339 };
00340
00341 template<class ContainerAllocator>
00342 struct MD5Sum<hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > {
00343 static const char* value()
00344 {
00345 return "edd6e579a08e5c27f2b7fcfa4c39b7bb";
00346 }
00347
00348 static const char* value(const hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> &) { return value(); }
00349 };
00350
00351 template<class ContainerAllocator>
00352 struct DataType<hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> > {
00353 static const char* value()
00354 {
00355 return "hector_nav_msgs/GetRecoveryInfo";
00356 }
00357
00358 static const char* value(const hector_nav_msgs::GetRecoveryInfoResponse_<ContainerAllocator> &) { return value(); }
00359 };
00360
00361 }
00362 }
00363
00364 #endif // HECTOR_NAV_MSGS_SERVICE_GETRECOVERYINFO_H
00365