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