$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-cart_pushing/doc_stacks/2013-03-01_14-28-04.885134/cart_pushing/manipulation_transforms/srv/MapEffectorTwistsToObject.srv */ 00002 #ifndef MANIPULATION_TRANSFORMS_SERVICE_MAPEFFECTORTWISTSTOOBJECT_H 00003 #define MANIPULATION_TRANSFORMS_SERVICE_MAPEFFECTORTWISTSTOOBJECT_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 MapEffectorTwistsToObjectRequest_ { 00028 typedef MapEffectorTwistsToObjectRequest_<ContainerAllocator> Type; 00029 00030 MapEffectorTwistsToObjectRequest_() 00031 : effector_twists() 00032 { 00033 } 00034 00035 MapEffectorTwistsToObjectRequest_(const ContainerAllocator& _alloc) 00036 : effector_twists(_alloc) 00037 { 00038 } 00039 00040 typedef std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > _effector_twists_type; 00041 std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > effector_twists; 00042 00043 00044 ROS_DEPRECATED uint32_t get_effector_twists_size() const { return (uint32_t)effector_twists.size(); } 00045 ROS_DEPRECATED void set_effector_twists_size(uint32_t size) { effector_twists.resize((size_t)size); } 00046 ROS_DEPRECATED void get_effector_twists_vec(std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > & vec) const { vec = this->effector_twists; } 00047 ROS_DEPRECATED void set_effector_twists_vec(const std::vector< ::geometry_msgs::TwistStamped_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::TwistStamped_<ContainerAllocator> >::other > & vec) { this->effector_twists = vec; } 00048 private: 00049 static const char* __s_getDataType_() { return "manipulation_transforms/MapEffectorTwistsToObjectRequest"; } 00050 public: 00051 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00052 00053 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00054 00055 private: 00056 static const char* __s_getMD5Sum_() { return "9e6592ec3797ef41e0f2bd288e07c910"; } 00057 public: 00058 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00059 00060 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00061 00062 private: 00063 static const char* __s_getServerMD5Sum_() { return "b562f5125b32085904e28b16f9470873"; } 00064 public: 00065 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00066 00067 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00068 00069 private: 00070 static const char* __s_getMessageDefinition_() { return "\n\ 00071 geometry_msgs/TwistStamped[] effector_twists\n\ 00072 \n\ 00073 ================================================================================\n\ 00074 MSG: geometry_msgs/TwistStamped\n\ 00075 # A twist with reference coordinate frame and timestamp\n\ 00076 Header header\n\ 00077 Twist twist\n\ 00078 \n\ 00079 ================================================================================\n\ 00080 MSG: std_msgs/Header\n\ 00081 # Standard metadata for higher-level stamped data types.\n\ 00082 # This is generally used to communicate timestamped data \n\ 00083 # in a particular coordinate frame.\n\ 00084 # \n\ 00085 # sequence ID: consecutively increasing ID \n\ 00086 uint32 seq\n\ 00087 #Two-integer timestamp that is expressed as:\n\ 00088 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00089 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00090 # time-handling sugar is provided by the client library\n\ 00091 time stamp\n\ 00092 #Frame this data is associated with\n\ 00093 # 0: no frame\n\ 00094 # 1: global frame\n\ 00095 string frame_id\n\ 00096 \n\ 00097 ================================================================================\n\ 00098 MSG: geometry_msgs/Twist\n\ 00099 # This expresses velocity in free space broken into it's linear and angular parts. \n\ 00100 Vector3 linear\n\ 00101 Vector3 angular\n\ 00102 \n\ 00103 ================================================================================\n\ 00104 MSG: geometry_msgs/Vector3\n\ 00105 # This represents a vector in free space. \n\ 00106 \n\ 00107 float64 x\n\ 00108 float64 y\n\ 00109 float64 z\n\ 00110 "; } 00111 public: 00112 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00113 00114 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00115 00116 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00117 { 00118 ros::serialization::OStream stream(write_ptr, 1000000000); 00119 ros::serialization::serialize(stream, effector_twists); 00120 return stream.getData(); 00121 } 00122 00123 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00124 { 00125 ros::serialization::IStream stream(read_ptr, 1000000000); 00126 ros::serialization::deserialize(stream, effector_twists); 00127 return stream.getData(); 00128 } 00129 00130 ROS_DEPRECATED virtual uint32_t serializationLength() const 00131 { 00132 uint32_t size = 0; 00133 size += ros::serialization::serializationLength(effector_twists); 00134 return size; 00135 } 00136 00137 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > Ptr; 00138 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> const> ConstPtr; 00139 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00140 }; // struct MapEffectorTwistsToObjectRequest 00141 typedef ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<std::allocator<void> > MapEffectorTwistsToObjectRequest; 00142 00143 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectRequest> MapEffectorTwistsToObjectRequestPtr; 00144 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectRequest const> MapEffectorTwistsToObjectRequestConstPtr; 00145 00146 00147 template <class ContainerAllocator> 00148 struct MapEffectorTwistsToObjectResponse_ { 00149 typedef MapEffectorTwistsToObjectResponse_<ContainerAllocator> Type; 00150 00151 MapEffectorTwistsToObjectResponse_() 00152 : object_twist() 00153 , error(0.0) 00154 { 00155 } 00156 00157 MapEffectorTwistsToObjectResponse_(const ContainerAllocator& _alloc) 00158 : object_twist(_alloc) 00159 , error(0.0) 00160 { 00161 } 00162 00163 typedef ::geometry_msgs::TwistStamped_<ContainerAllocator> _object_twist_type; 00164 ::geometry_msgs::TwistStamped_<ContainerAllocator> object_twist; 00165 00166 typedef double _error_type; 00167 double error; 00168 00169 00170 private: 00171 static const char* __s_getDataType_() { return "manipulation_transforms/MapEffectorTwistsToObjectResponse"; } 00172 public: 00173 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00174 00175 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00176 00177 private: 00178 static const char* __s_getMD5Sum_() { return "4ade889a0856a8f27d42bb0179bcdb9d"; } 00179 public: 00180 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00181 00182 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00183 00184 private: 00185 static const char* __s_getServerMD5Sum_() { return "b562f5125b32085904e28b16f9470873"; } 00186 public: 00187 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00188 00189 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00190 00191 private: 00192 static const char* __s_getMessageDefinition_() { return "\n\ 00193 geometry_msgs/TwistStamped object_twist\n\ 00194 \n\ 00195 \n\ 00196 float64 error\n\ 00197 \n\ 00198 \n\ 00199 ================================================================================\n\ 00200 MSG: geometry_msgs/TwistStamped\n\ 00201 # A twist with reference coordinate frame and timestamp\n\ 00202 Header header\n\ 00203 Twist twist\n\ 00204 \n\ 00205 ================================================================================\n\ 00206 MSG: std_msgs/Header\n\ 00207 # Standard metadata for higher-level stamped data types.\n\ 00208 # This is generally used to communicate timestamped data \n\ 00209 # in a particular coordinate frame.\n\ 00210 # \n\ 00211 # sequence ID: consecutively increasing ID \n\ 00212 uint32 seq\n\ 00213 #Two-integer timestamp that is expressed as:\n\ 00214 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00215 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00216 # time-handling sugar is provided by the client library\n\ 00217 time stamp\n\ 00218 #Frame this data is associated with\n\ 00219 # 0: no frame\n\ 00220 # 1: global frame\n\ 00221 string frame_id\n\ 00222 \n\ 00223 ================================================================================\n\ 00224 MSG: geometry_msgs/Twist\n\ 00225 # This expresses velocity in free space broken into it's linear and angular parts. \n\ 00226 Vector3 linear\n\ 00227 Vector3 angular\n\ 00228 \n\ 00229 ================================================================================\n\ 00230 MSG: geometry_msgs/Vector3\n\ 00231 # This represents a vector in free space. \n\ 00232 \n\ 00233 float64 x\n\ 00234 float64 y\n\ 00235 float64 z\n\ 00236 "; } 00237 public: 00238 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00239 00240 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00241 00242 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00243 { 00244 ros::serialization::OStream stream(write_ptr, 1000000000); 00245 ros::serialization::serialize(stream, object_twist); 00246 ros::serialization::serialize(stream, error); 00247 return stream.getData(); 00248 } 00249 00250 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00251 { 00252 ros::serialization::IStream stream(read_ptr, 1000000000); 00253 ros::serialization::deserialize(stream, object_twist); 00254 ros::serialization::deserialize(stream, error); 00255 return stream.getData(); 00256 } 00257 00258 ROS_DEPRECATED virtual uint32_t serializationLength() const 00259 { 00260 uint32_t size = 0; 00261 size += ros::serialization::serializationLength(object_twist); 00262 size += ros::serialization::serializationLength(error); 00263 return size; 00264 } 00265 00266 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > Ptr; 00267 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> const> ConstPtr; 00268 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00269 }; // struct MapEffectorTwistsToObjectResponse 00270 typedef ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<std::allocator<void> > MapEffectorTwistsToObjectResponse; 00271 00272 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectResponse> MapEffectorTwistsToObjectResponsePtr; 00273 typedef boost::shared_ptr< ::manipulation_transforms::MapEffectorTwistsToObjectResponse const> MapEffectorTwistsToObjectResponseConstPtr; 00274 00275 struct MapEffectorTwistsToObject 00276 { 00277 00278 typedef MapEffectorTwistsToObjectRequest Request; 00279 typedef MapEffectorTwistsToObjectResponse Response; 00280 Request request; 00281 Response response; 00282 00283 typedef Request RequestType; 00284 typedef Response ResponseType; 00285 }; // struct MapEffectorTwistsToObject 00286 } // namespace manipulation_transforms 00287 00288 namespace ros 00289 { 00290 namespace message_traits 00291 { 00292 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > : public TrueType {}; 00293 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> const> : public TrueType {}; 00294 template<class ContainerAllocator> 00295 struct MD5Sum< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > { 00296 static const char* value() 00297 { 00298 return "9e6592ec3797ef41e0f2bd288e07c910"; 00299 } 00300 00301 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> &) { return value(); } 00302 static const uint64_t static_value1 = 0x9e6592ec3797ef41ULL; 00303 static const uint64_t static_value2 = 0xe0f2bd288e07c910ULL; 00304 }; 00305 00306 template<class ContainerAllocator> 00307 struct DataType< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > { 00308 static const char* value() 00309 { 00310 return "manipulation_transforms/MapEffectorTwistsToObjectRequest"; 00311 } 00312 00313 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> &) { return value(); } 00314 }; 00315 00316 template<class ContainerAllocator> 00317 struct Definition< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > { 00318 static const char* value() 00319 { 00320 return "\n\ 00321 geometry_msgs/TwistStamped[] effector_twists\n\ 00322 \n\ 00323 ================================================================================\n\ 00324 MSG: geometry_msgs/TwistStamped\n\ 00325 # A twist with reference coordinate frame and timestamp\n\ 00326 Header header\n\ 00327 Twist twist\n\ 00328 \n\ 00329 ================================================================================\n\ 00330 MSG: std_msgs/Header\n\ 00331 # Standard metadata for higher-level stamped data types.\n\ 00332 # This is generally used to communicate timestamped data \n\ 00333 # in a particular coordinate frame.\n\ 00334 # \n\ 00335 # sequence ID: consecutively increasing ID \n\ 00336 uint32 seq\n\ 00337 #Two-integer timestamp that is expressed as:\n\ 00338 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00339 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00340 # time-handling sugar is provided by the client library\n\ 00341 time stamp\n\ 00342 #Frame this data is associated with\n\ 00343 # 0: no frame\n\ 00344 # 1: global frame\n\ 00345 string frame_id\n\ 00346 \n\ 00347 ================================================================================\n\ 00348 MSG: geometry_msgs/Twist\n\ 00349 # This expresses velocity in free space broken into it's linear and angular parts. \n\ 00350 Vector3 linear\n\ 00351 Vector3 angular\n\ 00352 \n\ 00353 ================================================================================\n\ 00354 MSG: geometry_msgs/Vector3\n\ 00355 # This represents a vector in free space. \n\ 00356 \n\ 00357 float64 x\n\ 00358 float64 y\n\ 00359 float64 z\n\ 00360 "; 00361 } 00362 00363 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> &) { return value(); } 00364 }; 00365 00366 } // namespace message_traits 00367 } // namespace ros 00368 00369 00370 namespace ros 00371 { 00372 namespace message_traits 00373 { 00374 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > : public TrueType {}; 00375 template<class ContainerAllocator> struct IsMessage< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> const> : public TrueType {}; 00376 template<class ContainerAllocator> 00377 struct MD5Sum< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > { 00378 static const char* value() 00379 { 00380 return "4ade889a0856a8f27d42bb0179bcdb9d"; 00381 } 00382 00383 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> &) { return value(); } 00384 static const uint64_t static_value1 = 0x4ade889a0856a8f2ULL; 00385 static const uint64_t static_value2 = 0x7d42bb0179bcdb9dULL; 00386 }; 00387 00388 template<class ContainerAllocator> 00389 struct DataType< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > { 00390 static const char* value() 00391 { 00392 return "manipulation_transforms/MapEffectorTwistsToObjectResponse"; 00393 } 00394 00395 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> &) { return value(); } 00396 }; 00397 00398 template<class ContainerAllocator> 00399 struct Definition< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > { 00400 static const char* value() 00401 { 00402 return "\n\ 00403 geometry_msgs/TwistStamped object_twist\n\ 00404 \n\ 00405 \n\ 00406 float64 error\n\ 00407 \n\ 00408 \n\ 00409 ================================================================================\n\ 00410 MSG: geometry_msgs/TwistStamped\n\ 00411 # A twist with reference coordinate frame and timestamp\n\ 00412 Header header\n\ 00413 Twist twist\n\ 00414 \n\ 00415 ================================================================================\n\ 00416 MSG: std_msgs/Header\n\ 00417 # Standard metadata for higher-level stamped data types.\n\ 00418 # This is generally used to communicate timestamped data \n\ 00419 # in a particular coordinate frame.\n\ 00420 # \n\ 00421 # sequence ID: consecutively increasing ID \n\ 00422 uint32 seq\n\ 00423 #Two-integer timestamp that is expressed as:\n\ 00424 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00425 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00426 # time-handling sugar is provided by the client library\n\ 00427 time stamp\n\ 00428 #Frame this data is associated with\n\ 00429 # 0: no frame\n\ 00430 # 1: global frame\n\ 00431 string frame_id\n\ 00432 \n\ 00433 ================================================================================\n\ 00434 MSG: geometry_msgs/Twist\n\ 00435 # This expresses velocity in free space broken into it's linear and angular parts. \n\ 00436 Vector3 linear\n\ 00437 Vector3 angular\n\ 00438 \n\ 00439 ================================================================================\n\ 00440 MSG: geometry_msgs/Vector3\n\ 00441 # This represents a vector in free space. \n\ 00442 \n\ 00443 float64 x\n\ 00444 float64 y\n\ 00445 float64 z\n\ 00446 "; 00447 } 00448 00449 static const char* value(const ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> &) { return value(); } 00450 }; 00451 00452 } // namespace message_traits 00453 } // namespace ros 00454 00455 namespace ros 00456 { 00457 namespace serialization 00458 { 00459 00460 template<class ContainerAllocator> struct Serializer< ::manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > 00461 { 00462 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00463 { 00464 stream.next(m.effector_twists); 00465 } 00466 00467 ROS_DECLARE_ALLINONE_SERIALIZER; 00468 }; // struct MapEffectorTwistsToObjectRequest_ 00469 } // namespace serialization 00470 } // namespace ros 00471 00472 00473 namespace ros 00474 { 00475 namespace serialization 00476 { 00477 00478 template<class ContainerAllocator> struct Serializer< ::manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > 00479 { 00480 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00481 { 00482 stream.next(m.object_twist); 00483 stream.next(m.error); 00484 } 00485 00486 ROS_DECLARE_ALLINONE_SERIALIZER; 00487 }; // struct MapEffectorTwistsToObjectResponse_ 00488 } // namespace serialization 00489 } // namespace ros 00490 00491 namespace ros 00492 { 00493 namespace service_traits 00494 { 00495 template<> 00496 struct MD5Sum<manipulation_transforms::MapEffectorTwistsToObject> { 00497 static const char* value() 00498 { 00499 return "b562f5125b32085904e28b16f9470873"; 00500 } 00501 00502 static const char* value(const manipulation_transforms::MapEffectorTwistsToObject&) { return value(); } 00503 }; 00504 00505 template<> 00506 struct DataType<manipulation_transforms::MapEffectorTwistsToObject> { 00507 static const char* value() 00508 { 00509 return "manipulation_transforms/MapEffectorTwistsToObject"; 00510 } 00511 00512 static const char* value(const manipulation_transforms::MapEffectorTwistsToObject&) { return value(); } 00513 }; 00514 00515 template<class ContainerAllocator> 00516 struct MD5Sum<manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > { 00517 static const char* value() 00518 { 00519 return "b562f5125b32085904e28b16f9470873"; 00520 } 00521 00522 static const char* value(const manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> &) { return value(); } 00523 }; 00524 00525 template<class ContainerAllocator> 00526 struct DataType<manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> > { 00527 static const char* value() 00528 { 00529 return "manipulation_transforms/MapEffectorTwistsToObject"; 00530 } 00531 00532 static const char* value(const manipulation_transforms::MapEffectorTwistsToObjectRequest_<ContainerAllocator> &) { return value(); } 00533 }; 00534 00535 template<class ContainerAllocator> 00536 struct MD5Sum<manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > { 00537 static const char* value() 00538 { 00539 return "b562f5125b32085904e28b16f9470873"; 00540 } 00541 00542 static const char* value(const manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> &) { return value(); } 00543 }; 00544 00545 template<class ContainerAllocator> 00546 struct DataType<manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> > { 00547 static const char* value() 00548 { 00549 return "manipulation_transforms/MapEffectorTwistsToObject"; 00550 } 00551 00552 static const char* value(const manipulation_transforms::MapEffectorTwistsToObjectResponse_<ContainerAllocator> &) { return value(); } 00553 }; 00554 00555 } // namespace service_traits 00556 } // namespace ros 00557 00558 #endif // MANIPULATION_TRANSFORMS_SERVICE_MAPEFFECTORTWISTSTOOBJECT_H 00559