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