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