Go to the documentation of this file.00001
00002 #ifndef MANIPULATION_TRANSFORMS_SERVICE_MAPOBJECTTWISTTOEFFECTORS_H
00003 #define MANIPULATION_TRANSFORMS_SERVICE_MAPOBJECTTWISTTOEFFECTORS_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/TwistStamped.h"
00020
00021
00022 #include "geometry_msgs/TwistStamped.h"
00023
00024 namespace manipulation_transforms
00025 {
00026 template <class ContainerAllocator>
00027 struct MapObjectTwistToEffectorsRequest_ {
00028 typedef MapObjectTwistToEffectorsRequest_<ContainerAllocator> Type;
00029
00030 MapObjectTwistToEffectorsRequest_()
00031 : object_twist()
00032 {
00033 }
00034
00035 MapObjectTwistToEffectorsRequest_(const ContainerAllocator& _alloc)
00036 : object_twist(_alloc)
00037 {
00038 }
00039
00040 typedef ::geometry_msgs::TwistStamped_<ContainerAllocator> _object_twist_type;
00041 ::geometry_msgs::TwistStamped_<ContainerAllocator> object_twist;
00042
00043
00044 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > Ptr;
00045 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> const> ConstPtr;
00046 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00047 };
00048 typedef ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<std::allocator<void> > MapObjectTwistToEffectorsRequest;
00049
00050 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsRequest> MapObjectTwistToEffectorsRequestPtr;
00051 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsRequest const> MapObjectTwistToEffectorsRequestConstPtr;
00052
00053
00054 template <class ContainerAllocator>
00055 struct MapObjectTwistToEffectorsResponse_ {
00056 typedef MapObjectTwistToEffectorsResponse_<ContainerAllocator> Type;
00057
00058 MapObjectTwistToEffectorsResponse_()
00059 : effector_twists()
00060 {
00061 }
00062
00063 MapObjectTwistToEffectorsResponse_(const ContainerAllocator& _alloc)
00064 : effector_twists(_alloc)
00065 {
00066 }
00067
00068 typedef std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > _effector_twists_type;
00069 std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > effector_twists;
00070
00071
00072 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > Ptr;
00073 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> const> ConstPtr;
00074 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00075 };
00076 typedef ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<std::allocator<void> > MapObjectTwistToEffectorsResponse;
00077
00078 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsResponse> MapObjectTwistToEffectorsResponsePtr;
00079 typedef boost::shared_ptr< ::manipulation_transforms::MapObjectTwistToEffectorsResponse const> MapObjectTwistToEffectorsResponseConstPtr;
00080
00081 struct MapObjectTwistToEffectors
00082 {
00083
00084 typedef MapObjectTwistToEffectorsRequest Request;
00085 typedef MapObjectTwistToEffectorsResponse 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< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > : public TrueType {};
00099 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> const> : public TrueType {};
00100 template<class ContainerAllocator>
00101 struct MD5Sum< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > {
00102 static const char* value()
00103 {
00104 return "520cb950a1ab872cff62b14155b5a20c";
00105 }
00106
00107 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> &) { return value(); }
00108 static const uint64_t static_value1 = 0x520cb950a1ab872cULL;
00109 static const uint64_t static_value2 = 0xff62b14155b5a20cULL;
00110 };
00111
00112 template<class ContainerAllocator>
00113 struct DataType< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > {
00114 static const char* value()
00115 {
00116 return "manipulation_transforms/MapObjectTwistToEffectorsRequest";
00117 }
00118
00119 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> &) { return value(); }
00120 };
00121
00122 template<class ContainerAllocator>
00123 struct Definition< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > {
00124 static const char* value()
00125 {
00126 return "\n\
00127 geometry_msgs/TwistStamped object_twist\n\
00128 \n\
00129 ================================================================================\n\
00130 MSG: geometry_msgs/TwistStamped\n\
00131 # A twist with reference coordinate frame and timestamp\n\
00132 Header header\n\
00133 Twist twist\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/Twist\n\
00155 # This expresses velocity in free space broken into it's linear and angular parts. \n\
00156 Vector3 linear\n\
00157 Vector3 angular\n\
00158 \n\
00159 ================================================================================\n\
00160 MSG: geometry_msgs/Vector3\n\
00161 # This represents a vector in free space. \n\
00162 \n\
00163 float64 x\n\
00164 float64 y\n\
00165 float64 z\n\
00166 ";
00167 }
00168
00169 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> &) { return value(); }
00170 };
00171
00172 }
00173 }
00174
00175
00176 namespace ros
00177 {
00178 namespace message_traits
00179 {
00180 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > : public TrueType {};
00181 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> const> : public TrueType {};
00182 template<class ContainerAllocator>
00183 struct MD5Sum< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > {
00184 static const char* value()
00185 {
00186 return "9e6592ec3797ef41e0f2bd288e07c910";
00187 }
00188
00189 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> &) { return value(); }
00190 static const uint64_t static_value1 = 0x9e6592ec3797ef41ULL;
00191 static const uint64_t static_value2 = 0xe0f2bd288e07c910ULL;
00192 };
00193
00194 template<class ContainerAllocator>
00195 struct DataType< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > {
00196 static const char* value()
00197 {
00198 return "manipulation_transforms/MapObjectTwistToEffectorsResponse";
00199 }
00200
00201 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> &) { return value(); }
00202 };
00203
00204 template<class ContainerAllocator>
00205 struct Definition< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > {
00206 static const char* value()
00207 {
00208 return "\n\
00209 geometry_msgs/TwistStamped[] effector_twists\n\
00210 \n\
00211 \n\
00212 \n\
00213 ================================================================================\n\
00214 MSG: geometry_msgs/TwistStamped\n\
00215 # A twist with reference coordinate frame and timestamp\n\
00216 Header header\n\
00217 Twist twist\n\
00218 \n\
00219 ================================================================================\n\
00220 MSG: std_msgs/Header\n\
00221 # Standard metadata for higher-level stamped data types.\n\
00222 # This is generally used to communicate timestamped data \n\
00223 # in a particular coordinate frame.\n\
00224 # \n\
00225 # sequence ID: consecutively increasing ID \n\
00226 uint32 seq\n\
00227 #Two-integer timestamp that is expressed as:\n\
00228 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00229 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00230 # time-handling sugar is provided by the client library\n\
00231 time stamp\n\
00232 #Frame this data is associated with\n\
00233 # 0: no frame\n\
00234 # 1: global frame\n\
00235 string frame_id\n\
00236 \n\
00237 ================================================================================\n\
00238 MSG: geometry_msgs/Twist\n\
00239 # This expresses velocity in free space broken into it's linear and angular parts. \n\
00240 Vector3 linear\n\
00241 Vector3 angular\n\
00242 \n\
00243 ================================================================================\n\
00244 MSG: geometry_msgs/Vector3\n\
00245 # This represents a vector in free space. \n\
00246 \n\
00247 float64 x\n\
00248 float64 y\n\
00249 float64 z\n\
00250 ";
00251 }
00252
00253 static const char* value(const ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> &) { return value(); }
00254 };
00255
00256 }
00257 }
00258
00259 namespace ros
00260 {
00261 namespace serialization
00262 {
00263
00264 template<class ContainerAllocator> struct Serializer< ::manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> >
00265 {
00266 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00267 {
00268 stream.next(m.object_twist);
00269 }
00270
00271 ROS_DECLARE_ALLINONE_SERIALIZER;
00272 };
00273 }
00274 }
00275
00276
00277 namespace ros
00278 {
00279 namespace serialization
00280 {
00281
00282 template<class ContainerAllocator> struct Serializer< ::manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> >
00283 {
00284 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00285 {
00286 stream.next(m.effector_twists);
00287 }
00288
00289 ROS_DECLARE_ALLINONE_SERIALIZER;
00290 };
00291 }
00292 }
00293
00294 namespace ros
00295 {
00296 namespace service_traits
00297 {
00298 template<>
00299 struct MD5Sum<manipulation_transforms::MapObjectTwistToEffectors> {
00300 static const char* value()
00301 {
00302 return "1bb5479e5565270d07bd4dd38bdd26c9";
00303 }
00304
00305 static const char* value(const manipulation_transforms::MapObjectTwistToEffectors&) { return value(); }
00306 };
00307
00308 template<>
00309 struct DataType<manipulation_transforms::MapObjectTwistToEffectors> {
00310 static const char* value()
00311 {
00312 return "manipulation_transforms/MapObjectTwistToEffectors";
00313 }
00314
00315 static const char* value(const manipulation_transforms::MapObjectTwistToEffectors&) { return value(); }
00316 };
00317
00318 template<class ContainerAllocator>
00319 struct MD5Sum<manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > {
00320 static const char* value()
00321 {
00322 return "1bb5479e5565270d07bd4dd38bdd26c9";
00323 }
00324
00325 static const char* value(const manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> &) { return value(); }
00326 };
00327
00328 template<class ContainerAllocator>
00329 struct DataType<manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> > {
00330 static const char* value()
00331 {
00332 return "manipulation_transforms/MapObjectTwistToEffectors";
00333 }
00334
00335 static const char* value(const manipulation_transforms::MapObjectTwistToEffectorsRequest_<ContainerAllocator> &) { return value(); }
00336 };
00337
00338 template<class ContainerAllocator>
00339 struct MD5Sum<manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > {
00340 static const char* value()
00341 {
00342 return "1bb5479e5565270d07bd4dd38bdd26c9";
00343 }
00344
00345 static const char* value(const manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> &) { return value(); }
00346 };
00347
00348 template<class ContainerAllocator>
00349 struct DataType<manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> > {
00350 static const char* value()
00351 {
00352 return "manipulation_transforms/MapObjectTwistToEffectors";
00353 }
00354
00355 static const char* value(const manipulation_transforms::MapObjectTwistToEffectorsResponse_<ContainerAllocator> &) { return value(); }
00356 };
00357
00358 }
00359 }
00360
00361 #endif // MANIPULATION_TRANSFORMS_SERVICE_MAPOBJECTTWISTTOEFFECTORS_H
00362