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