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