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