00001
00002 #ifndef GRASPIT_INTERFACE_MSGS_SERVICE_TESTGRASP_H
00003 #define GRASPIT_INTERFACE_MSGS_SERVICE_TESTGRASP_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/service_traits.h"
00014
00015 #include "object_manipulation_msgs/Grasp.h"
00016
00017
00018
00019 namespace graspit_interface_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct TestGraspRequest_ : public ros::Message
00023 {
00024 typedef TestGraspRequest_<ContainerAllocator> Type;
00025
00026 TestGraspRequest_()
00027 : grasp()
00028 , test_type(0)
00029 {
00030 }
00031
00032 TestGraspRequest_(const ContainerAllocator& _alloc)
00033 : grasp(_alloc)
00034 , test_type(0)
00035 {
00036 }
00037
00038 typedef ::object_manipulation_msgs::Grasp_<ContainerAllocator> _grasp_type;
00039 ::object_manipulation_msgs::Grasp_<ContainerAllocator> grasp;
00040
00041 typedef int32_t _test_type_type;
00042 int32_t test_type;
00043
00044 enum { DIRECT = 0 };
00045 enum { COMPLIANT_CLOSE = 1 };
00046 enum { REACTIVE_GRASP = 2 };
00047 enum { ROBUST_REACTIVE_GRASP = 3 };
00048
00049 private:
00050 static const char* __s_getDataType_() { return "graspit_interface_msgs/TestGraspRequest"; }
00051 public:
00052 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00053
00054 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00055
00056 private:
00057 static const char* __s_getMD5Sum_() { return "41430f028afca8b3c3c0ed1bd3ffc59e"; }
00058 public:
00059 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00060
00061 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00062
00063 private:
00064 static const char* __s_getServerMD5Sum_() { return "4dd507f7b77b3d427b256967f910ced4"; }
00065 public:
00066 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00067
00068 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00069
00070 private:
00071 static const char* __s_getMessageDefinition_() { return "\n\
00072 \n\
00073 \n\
00074 \n\
00075 \n\
00076 object_manipulation_msgs/Grasp grasp\n\
00077 \n\
00078 \n\
00079 \n\
00080 int32 DIRECT = 0\n\
00081 \n\
00082 int32 COMPLIANT_CLOSE = 1\n\
00083 \n\
00084 int32 REACTIVE_GRASP = 2\n\
00085 \n\
00086 int32 ROBUST_REACTIVE_GRASP = 3\n\
00087 int32 test_type\n\
00088 \n\
00089 \n\
00090 ================================================================================\n\
00091 MSG: object_manipulation_msgs/Grasp\n\
00092 \n\
00093 # The internal posture of the hand for the pre-grasp\n\
00094 # only positions are used\n\
00095 sensor_msgs/JointState pre_grasp_posture\n\
00096 \n\
00097 # The internal posture of the hand for the grasp\n\
00098 # positions and efforts are used\n\
00099 sensor_msgs/JointState grasp_posture\n\
00100 \n\
00101 # The position of the end-effector for the grasp relative to the object\n\
00102 geometry_msgs/Pose grasp_pose\n\
00103 \n\
00104 # The estimated probability of success for this grasp\n\
00105 float64 success_probability\n\
00106 \n\
00107 # Debug flag to indicate that this grasp would be the best in its cluster\n\
00108 bool cluster_rep\n\
00109 ================================================================================\n\
00110 MSG: sensor_msgs/JointState\n\
00111 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00112 #\n\
00113 # The state of each joint (revolute or prismatic) is defined by:\n\
00114 # * the position of the joint (rad or m),\n\
00115 # * the velocity of the joint (rad/s or m/s) and \n\
00116 # * the effort that is applied in the joint (Nm or N).\n\
00117 #\n\
00118 # Each joint is uniquely identified by its name\n\
00119 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00120 # in one message have to be recorded at the same time.\n\
00121 #\n\
00122 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00123 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00124 # effort associated with them, you can leave the effort array empty. \n\
00125 #\n\
00126 # All arrays in this message should have the same size, or be empty.\n\
00127 # This is the only way to uniquely associate the joint name with the correct\n\
00128 # states.\n\
00129 \n\
00130 \n\
00131 Header header\n\
00132 \n\
00133 string[] name\n\
00134 float64[] position\n\
00135 float64[] velocity\n\
00136 float64[] effort\n\
00137 \n\
00138 ================================================================================\n\
00139 MSG: std_msgs/Header\n\
00140 # Standard metadata for higher-level stamped data types.\n\
00141 # This is generally used to communicate timestamped data \n\
00142 # in a particular coordinate frame.\n\
00143 # \n\
00144 # sequence ID: consecutively increasing ID \n\
00145 uint32 seq\n\
00146 #Two-integer timestamp that is expressed as:\n\
00147 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00148 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00149 # time-handling sugar is provided by the client library\n\
00150 time stamp\n\
00151 #Frame this data is associated with\n\
00152 # 0: no frame\n\
00153 # 1: global frame\n\
00154 string frame_id\n\
00155 \n\
00156 ================================================================================\n\
00157 MSG: geometry_msgs/Pose\n\
00158 # A representation of pose in free space, composed of postion and orientation. \n\
00159 Point position\n\
00160 Quaternion orientation\n\
00161 \n\
00162 ================================================================================\n\
00163 MSG: geometry_msgs/Point\n\
00164 # This contains the position of a point in free space\n\
00165 float64 x\n\
00166 float64 y\n\
00167 float64 z\n\
00168 \n\
00169 ================================================================================\n\
00170 MSG: geometry_msgs/Quaternion\n\
00171 # This represents an orientation in free space in quaternion form.\n\
00172 \n\
00173 float64 x\n\
00174 float64 y\n\
00175 float64 z\n\
00176 float64 w\n\
00177 \n\
00178 "; }
00179 public:
00180 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00181
00182 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00183
00184 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00185 {
00186 ros::serialization::OStream stream(write_ptr, 1000000000);
00187 ros::serialization::serialize(stream, grasp);
00188 ros::serialization::serialize(stream, test_type);
00189 return stream.getData();
00190 }
00191
00192 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00193 {
00194 ros::serialization::IStream stream(read_ptr, 1000000000);
00195 ros::serialization::deserialize(stream, grasp);
00196 ros::serialization::deserialize(stream, test_type);
00197 return stream.getData();
00198 }
00199
00200 ROS_DEPRECATED virtual uint32_t serializationLength() const
00201 {
00202 uint32_t size = 0;
00203 size += ros::serialization::serializationLength(grasp);
00204 size += ros::serialization::serializationLength(test_type);
00205 return size;
00206 }
00207
00208 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > Ptr;
00209 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> const> ConstPtr;
00210 };
00211 typedef ::graspit_interface_msgs::TestGraspRequest_<std::allocator<void> > TestGraspRequest;
00212
00213 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspRequest> TestGraspRequestPtr;
00214 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspRequest const> TestGraspRequestConstPtr;
00215
00216
00217 template <class ContainerAllocator>
00218 struct TestGraspResponse_ : public ros::Message
00219 {
00220 typedef TestGraspResponse_<ContainerAllocator> Type;
00221
00222 TestGraspResponse_()
00223 : test_performed(0)
00224 , test_result(0)
00225 , hand_object_collision(false)
00226 , hand_environment_collision(false)
00227 , energy_value(0.0)
00228 , energy_value_list()
00229 {
00230 }
00231
00232 TestGraspResponse_(const ContainerAllocator& _alloc)
00233 : test_performed(0)
00234 , test_result(0)
00235 , hand_object_collision(false)
00236 , hand_environment_collision(false)
00237 , energy_value(0.0)
00238 , energy_value_list(_alloc)
00239 {
00240 }
00241
00242 typedef int32_t _test_performed_type;
00243 int32_t test_performed;
00244
00245 typedef int32_t _test_result_type;
00246 int32_t test_result;
00247
00248 typedef uint8_t _hand_object_collision_type;
00249 uint8_t hand_object_collision;
00250
00251 typedef uint8_t _hand_environment_collision_type;
00252 uint8_t hand_environment_collision;
00253
00254 typedef float _energy_value_type;
00255 float energy_value;
00256
00257 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _energy_value_list_type;
00258 std::vector<float, typename ContainerAllocator::template rebind<float>::other > energy_value_list;
00259
00260 enum { TEST_WAS_PERFORMED = 0 };
00261 enum { TEST_WAS_NOT_PERFORMED = 1 };
00262 enum { HAND_COLLISION = 0 };
00263 enum { GRASP_FAILURE = 1 };
00264 enum { GRASP_SUCCESS = 2 };
00265
00266 ROS_DEPRECATED uint32_t get_energy_value_list_size() const { return (uint32_t)energy_value_list.size(); }
00267 ROS_DEPRECATED void set_energy_value_list_size(uint32_t size) { energy_value_list.resize((size_t)size); }
00268 ROS_DEPRECATED void get_energy_value_list_vec(std::vector<float, typename ContainerAllocator::template rebind<float>::other > & vec) const { vec = this->energy_value_list; }
00269 ROS_DEPRECATED void set_energy_value_list_vec(const std::vector<float, typename ContainerAllocator::template rebind<float>::other > & vec) { this->energy_value_list = vec; }
00270 private:
00271 static const char* __s_getDataType_() { return "graspit_interface_msgs/TestGraspResponse"; }
00272 public:
00273 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00274
00275 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00276
00277 private:
00278 static const char* __s_getMD5Sum_() { return "745239a222da348b3e36561caeefd73b"; }
00279 public:
00280 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00281
00282 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00283
00284 private:
00285 static const char* __s_getServerMD5Sum_() { return "4dd507f7b77b3d427b256967f910ced4"; }
00286 public:
00287 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00288
00289 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00290
00291 private:
00292 static const char* __s_getMessageDefinition_() { return "\n\
00293 \n\
00294 int32 TEST_WAS_PERFORMED = 0\n\
00295 int32 TEST_WAS_NOT_PERFORMED = 1\n\
00296 int32 test_performed\n\
00297 \n\
00298 \n\
00299 int32 HAND_COLLISION = 0\n\
00300 int32 GRASP_FAILURE = 1\n\
00301 int32 GRASP_SUCCESS = 2\n\
00302 int32 test_result\n\
00303 \n\
00304 \n\
00305 bool hand_object_collision\n\
00306 bool hand_environment_collision\n\
00307 \n\
00308 \n\
00309 \n\
00310 float32 energy_value\n\
00311 \n\
00312 float32[] energy_value_list\n\
00313 \n\
00314 "; }
00315 public:
00316 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00317
00318 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00319
00320 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00321 {
00322 ros::serialization::OStream stream(write_ptr, 1000000000);
00323 ros::serialization::serialize(stream, test_performed);
00324 ros::serialization::serialize(stream, test_result);
00325 ros::serialization::serialize(stream, hand_object_collision);
00326 ros::serialization::serialize(stream, hand_environment_collision);
00327 ros::serialization::serialize(stream, energy_value);
00328 ros::serialization::serialize(stream, energy_value_list);
00329 return stream.getData();
00330 }
00331
00332 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00333 {
00334 ros::serialization::IStream stream(read_ptr, 1000000000);
00335 ros::serialization::deserialize(stream, test_performed);
00336 ros::serialization::deserialize(stream, test_result);
00337 ros::serialization::deserialize(stream, hand_object_collision);
00338 ros::serialization::deserialize(stream, hand_environment_collision);
00339 ros::serialization::deserialize(stream, energy_value);
00340 ros::serialization::deserialize(stream, energy_value_list);
00341 return stream.getData();
00342 }
00343
00344 ROS_DEPRECATED virtual uint32_t serializationLength() const
00345 {
00346 uint32_t size = 0;
00347 size += ros::serialization::serializationLength(test_performed);
00348 size += ros::serialization::serializationLength(test_result);
00349 size += ros::serialization::serializationLength(hand_object_collision);
00350 size += ros::serialization::serializationLength(hand_environment_collision);
00351 size += ros::serialization::serializationLength(energy_value);
00352 size += ros::serialization::serializationLength(energy_value_list);
00353 return size;
00354 }
00355
00356 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > Ptr;
00357 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> const> ConstPtr;
00358 };
00359 typedef ::graspit_interface_msgs::TestGraspResponse_<std::allocator<void> > TestGraspResponse;
00360
00361 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspResponse> TestGraspResponsePtr;
00362 typedef boost::shared_ptr< ::graspit_interface_msgs::TestGraspResponse const> TestGraspResponseConstPtr;
00363
00364 struct TestGrasp
00365 {
00366
00367 typedef TestGraspRequest Request;
00368 typedef TestGraspResponse Response;
00369 Request request;
00370 Response response;
00371
00372 typedef Request RequestType;
00373 typedef Response ResponseType;
00374 };
00375 }
00376
00377 namespace ros
00378 {
00379 namespace message_traits
00380 {
00381 template<class ContainerAllocator>
00382 struct MD5Sum< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > {
00383 static const char* value()
00384 {
00385 return "41430f028afca8b3c3c0ed1bd3ffc59e";
00386 }
00387
00388 static const char* value(const ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> &) { return value(); }
00389 static const uint64_t static_value1 = 0x41430f028afca8b3ULL;
00390 static const uint64_t static_value2 = 0xc3c0ed1bd3ffc59eULL;
00391 };
00392
00393 template<class ContainerAllocator>
00394 struct DataType< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > {
00395 static const char* value()
00396 {
00397 return "graspit_interface_msgs/TestGraspRequest";
00398 }
00399
00400 static const char* value(const ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> &) { return value(); }
00401 };
00402
00403 template<class ContainerAllocator>
00404 struct Definition< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > {
00405 static const char* value()
00406 {
00407 return "\n\
00408 \n\
00409 \n\
00410 \n\
00411 \n\
00412 object_manipulation_msgs/Grasp grasp\n\
00413 \n\
00414 \n\
00415 \n\
00416 int32 DIRECT = 0\n\
00417 \n\
00418 int32 COMPLIANT_CLOSE = 1\n\
00419 \n\
00420 int32 REACTIVE_GRASP = 2\n\
00421 \n\
00422 int32 ROBUST_REACTIVE_GRASP = 3\n\
00423 int32 test_type\n\
00424 \n\
00425 \n\
00426 ================================================================================\n\
00427 MSG: object_manipulation_msgs/Grasp\n\
00428 \n\
00429 # The internal posture of the hand for the pre-grasp\n\
00430 # only positions are used\n\
00431 sensor_msgs/JointState pre_grasp_posture\n\
00432 \n\
00433 # The internal posture of the hand for the grasp\n\
00434 # positions and efforts are used\n\
00435 sensor_msgs/JointState grasp_posture\n\
00436 \n\
00437 # The position of the end-effector for the grasp relative to the object\n\
00438 geometry_msgs/Pose grasp_pose\n\
00439 \n\
00440 # The estimated probability of success for this grasp\n\
00441 float64 success_probability\n\
00442 \n\
00443 # Debug flag to indicate that this grasp would be the best in its cluster\n\
00444 bool cluster_rep\n\
00445 ================================================================================\n\
00446 MSG: sensor_msgs/JointState\n\
00447 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00448 #\n\
00449 # The state of each joint (revolute or prismatic) is defined by:\n\
00450 # * the position of the joint (rad or m),\n\
00451 # * the velocity of the joint (rad/s or m/s) and \n\
00452 # * the effort that is applied in the joint (Nm or N).\n\
00453 #\n\
00454 # Each joint is uniquely identified by its name\n\
00455 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00456 # in one message have to be recorded at the same time.\n\
00457 #\n\
00458 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00459 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00460 # effort associated with them, you can leave the effort array empty. \n\
00461 #\n\
00462 # All arrays in this message should have the same size, or be empty.\n\
00463 # This is the only way to uniquely associate the joint name with the correct\n\
00464 # states.\n\
00465 \n\
00466 \n\
00467 Header header\n\
00468 \n\
00469 string[] name\n\
00470 float64[] position\n\
00471 float64[] velocity\n\
00472 float64[] effort\n\
00473 \n\
00474 ================================================================================\n\
00475 MSG: std_msgs/Header\n\
00476 # Standard metadata for higher-level stamped data types.\n\
00477 # This is generally used to communicate timestamped data \n\
00478 # in a particular coordinate frame.\n\
00479 # \n\
00480 # sequence ID: consecutively increasing ID \n\
00481 uint32 seq\n\
00482 #Two-integer timestamp that is expressed as:\n\
00483 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00484 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00485 # time-handling sugar is provided by the client library\n\
00486 time stamp\n\
00487 #Frame this data is associated with\n\
00488 # 0: no frame\n\
00489 # 1: global frame\n\
00490 string frame_id\n\
00491 \n\
00492 ================================================================================\n\
00493 MSG: geometry_msgs/Pose\n\
00494 # A representation of pose in free space, composed of postion and orientation. \n\
00495 Point position\n\
00496 Quaternion orientation\n\
00497 \n\
00498 ================================================================================\n\
00499 MSG: geometry_msgs/Point\n\
00500 # This contains the position of a point in free space\n\
00501 float64 x\n\
00502 float64 y\n\
00503 float64 z\n\
00504 \n\
00505 ================================================================================\n\
00506 MSG: geometry_msgs/Quaternion\n\
00507 # This represents an orientation in free space in quaternion form.\n\
00508 \n\
00509 float64 x\n\
00510 float64 y\n\
00511 float64 z\n\
00512 float64 w\n\
00513 \n\
00514 ";
00515 }
00516
00517 static const char* value(const ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> &) { return value(); }
00518 };
00519
00520 }
00521 }
00522
00523
00524 namespace ros
00525 {
00526 namespace message_traits
00527 {
00528 template<class ContainerAllocator>
00529 struct MD5Sum< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > {
00530 static const char* value()
00531 {
00532 return "745239a222da348b3e36561caeefd73b";
00533 }
00534
00535 static const char* value(const ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> &) { return value(); }
00536 static const uint64_t static_value1 = 0x745239a222da348bULL;
00537 static const uint64_t static_value2 = 0x3e36561caeefd73bULL;
00538 };
00539
00540 template<class ContainerAllocator>
00541 struct DataType< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > {
00542 static const char* value()
00543 {
00544 return "graspit_interface_msgs/TestGraspResponse";
00545 }
00546
00547 static const char* value(const ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> &) { return value(); }
00548 };
00549
00550 template<class ContainerAllocator>
00551 struct Definition< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > {
00552 static const char* value()
00553 {
00554 return "\n\
00555 \n\
00556 int32 TEST_WAS_PERFORMED = 0\n\
00557 int32 TEST_WAS_NOT_PERFORMED = 1\n\
00558 int32 test_performed\n\
00559 \n\
00560 \n\
00561 int32 HAND_COLLISION = 0\n\
00562 int32 GRASP_FAILURE = 1\n\
00563 int32 GRASP_SUCCESS = 2\n\
00564 int32 test_result\n\
00565 \n\
00566 \n\
00567 bool hand_object_collision\n\
00568 bool hand_environment_collision\n\
00569 \n\
00570 \n\
00571 \n\
00572 float32 energy_value\n\
00573 \n\
00574 float32[] energy_value_list\n\
00575 \n\
00576 ";
00577 }
00578
00579 static const char* value(const ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> &) { return value(); }
00580 };
00581
00582 }
00583 }
00584
00585 namespace ros
00586 {
00587 namespace serialization
00588 {
00589
00590 template<class ContainerAllocator> struct Serializer< ::graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> >
00591 {
00592 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00593 {
00594 stream.next(m.grasp);
00595 stream.next(m.test_type);
00596 }
00597
00598 ROS_DECLARE_ALLINONE_SERIALIZER;
00599 };
00600 }
00601 }
00602
00603
00604 namespace ros
00605 {
00606 namespace serialization
00607 {
00608
00609 template<class ContainerAllocator> struct Serializer< ::graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> >
00610 {
00611 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00612 {
00613 stream.next(m.test_performed);
00614 stream.next(m.test_result);
00615 stream.next(m.hand_object_collision);
00616 stream.next(m.hand_environment_collision);
00617 stream.next(m.energy_value);
00618 stream.next(m.energy_value_list);
00619 }
00620
00621 ROS_DECLARE_ALLINONE_SERIALIZER;
00622 };
00623 }
00624 }
00625
00626 namespace ros
00627 {
00628 namespace service_traits
00629 {
00630 template<>
00631 struct MD5Sum<graspit_interface_msgs::TestGrasp> {
00632 static const char* value()
00633 {
00634 return "4dd507f7b77b3d427b256967f910ced4";
00635 }
00636
00637 static const char* value(const graspit_interface_msgs::TestGrasp&) { return value(); }
00638 };
00639
00640 template<>
00641 struct DataType<graspit_interface_msgs::TestGrasp> {
00642 static const char* value()
00643 {
00644 return "graspit_interface_msgs/TestGrasp";
00645 }
00646
00647 static const char* value(const graspit_interface_msgs::TestGrasp&) { return value(); }
00648 };
00649
00650 template<class ContainerAllocator>
00651 struct MD5Sum<graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > {
00652 static const char* value()
00653 {
00654 return "4dd507f7b77b3d427b256967f910ced4";
00655 }
00656
00657 static const char* value(const graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> &) { return value(); }
00658 };
00659
00660 template<class ContainerAllocator>
00661 struct DataType<graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> > {
00662 static const char* value()
00663 {
00664 return "graspit_interface_msgs/TestGrasp";
00665 }
00666
00667 static const char* value(const graspit_interface_msgs::TestGraspRequest_<ContainerAllocator> &) { return value(); }
00668 };
00669
00670 template<class ContainerAllocator>
00671 struct MD5Sum<graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > {
00672 static const char* value()
00673 {
00674 return "4dd507f7b77b3d427b256967f910ced4";
00675 }
00676
00677 static const char* value(const graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> &) { return value(); }
00678 };
00679
00680 template<class ContainerAllocator>
00681 struct DataType<graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> > {
00682 static const char* value()
00683 {
00684 return "graspit_interface_msgs/TestGrasp";
00685 }
00686
00687 static const char* value(const graspit_interface_msgs::TestGraspResponse_<ContainerAllocator> &) { return value(); }
00688 };
00689
00690 }
00691 }
00692
00693 #endif // GRASPIT_INTERFACE_MSGS_SERVICE_TESTGRASP_H
00694