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