$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-arm_navigation_experimental/doc_stacks/2013-03-01_14-08-43.137802/arm_navigation_experimental/chomp_motion_planner/srv/GetStateCost.srv */ 00002 #ifndef CHOMP_MOTION_PLANNER_SERVICE_GETSTATECOST_H 00003 #define CHOMP_MOTION_PLANNER_SERVICE_GETSTATECOST_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 "arm_navigation_msgs/RobotState.h" 00020 00021 00022 00023 namespace chomp_motion_planner 00024 { 00025 template <class ContainerAllocator> 00026 struct GetStateCostRequest_ { 00027 typedef GetStateCostRequest_<ContainerAllocator> Type; 00028 00029 GetStateCostRequest_() 00030 : link_names() 00031 , robot_state() 00032 { 00033 } 00034 00035 GetStateCostRequest_(const ContainerAllocator& _alloc) 00036 : link_names(_alloc) 00037 , robot_state(_alloc) 00038 { 00039 } 00040 00041 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _link_names_type; 00042 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > link_names; 00043 00044 typedef ::arm_navigation_msgs::RobotState_<ContainerAllocator> _robot_state_type; 00045 ::arm_navigation_msgs::RobotState_<ContainerAllocator> robot_state; 00046 00047 00048 ROS_DEPRECATED uint32_t get_link_names_size() const { return (uint32_t)link_names.size(); } 00049 ROS_DEPRECATED void set_link_names_size(uint32_t size) { link_names.resize((size_t)size); } 00050 ROS_DEPRECATED void get_link_names_vec(std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) const { vec = this->link_names; } 00051 ROS_DEPRECATED void set_link_names_vec(const std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) { this->link_names = vec; } 00052 private: 00053 static const char* __s_getDataType_() { return "chomp_motion_planner/GetStateCostRequest"; } 00054 public: 00055 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00056 00057 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00058 00059 private: 00060 static const char* __s_getMD5Sum_() { return "8eb8c1ec9dda8058aa5e5d82c1d8cda6"; } 00061 public: 00062 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00063 00064 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00065 00066 private: 00067 static const char* __s_getServerMD5Sum_() { return "e5ac7b8628485266624f522d76c812fd"; } 00068 public: 00069 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00070 00071 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00072 00073 private: 00074 static const char* __s_getMessageDefinition_() { return "\n\ 00075 \n\ 00076 \n\ 00077 string[] link_names\n\ 00078 \n\ 00079 arm_navigation_msgs/RobotState robot_state\n\ 00080 \n\ 00081 ================================================================================\n\ 00082 MSG: arm_navigation_msgs/RobotState\n\ 00083 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00084 sensor_msgs/JointState joint_state\n\ 00085 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00086 \n\ 00087 ================================================================================\n\ 00088 MSG: sensor_msgs/JointState\n\ 00089 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00090 #\n\ 00091 # The state of each joint (revolute or prismatic) is defined by:\n\ 00092 # * the position of the joint (rad or m),\n\ 00093 # * the velocity of the joint (rad/s or m/s) and \n\ 00094 # * the effort that is applied in the joint (Nm or N).\n\ 00095 #\n\ 00096 # Each joint is uniquely identified by its name\n\ 00097 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00098 # in one message have to be recorded at the same time.\n\ 00099 #\n\ 00100 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00101 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00102 # effort associated with them, you can leave the effort array empty. \n\ 00103 #\n\ 00104 # All arrays in this message should have the same size, or be empty.\n\ 00105 # This is the only way to uniquely associate the joint name with the correct\n\ 00106 # states.\n\ 00107 \n\ 00108 \n\ 00109 Header header\n\ 00110 \n\ 00111 string[] name\n\ 00112 float64[] position\n\ 00113 float64[] velocity\n\ 00114 float64[] effort\n\ 00115 \n\ 00116 ================================================================================\n\ 00117 MSG: std_msgs/Header\n\ 00118 # Standard metadata for higher-level stamped data types.\n\ 00119 # This is generally used to communicate timestamped data \n\ 00120 # in a particular coordinate frame.\n\ 00121 # \n\ 00122 # sequence ID: consecutively increasing ID \n\ 00123 uint32 seq\n\ 00124 #Two-integer timestamp that is expressed as:\n\ 00125 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00126 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00127 # time-handling sugar is provided by the client library\n\ 00128 time stamp\n\ 00129 #Frame this data is associated with\n\ 00130 # 0: no frame\n\ 00131 # 1: global frame\n\ 00132 string frame_id\n\ 00133 \n\ 00134 ================================================================================\n\ 00135 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00136 #A representation of a multi-dof joint state\n\ 00137 time stamp\n\ 00138 string[] joint_names\n\ 00139 string[] frame_ids\n\ 00140 string[] child_frame_ids\n\ 00141 geometry_msgs/Pose[] poses\n\ 00142 \n\ 00143 ================================================================================\n\ 00144 MSG: geometry_msgs/Pose\n\ 00145 # A representation of pose in free space, composed of postion and orientation. \n\ 00146 Point position\n\ 00147 Quaternion orientation\n\ 00148 \n\ 00149 ================================================================================\n\ 00150 MSG: geometry_msgs/Point\n\ 00151 # This contains the position of a point in free space\n\ 00152 float64 x\n\ 00153 float64 y\n\ 00154 float64 z\n\ 00155 \n\ 00156 ================================================================================\n\ 00157 MSG: geometry_msgs/Quaternion\n\ 00158 # This represents an orientation in free space in quaternion form.\n\ 00159 \n\ 00160 float64 x\n\ 00161 float64 y\n\ 00162 float64 z\n\ 00163 float64 w\n\ 00164 \n\ 00165 "; } 00166 public: 00167 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00168 00169 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00170 00171 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00172 { 00173 ros::serialization::OStream stream(write_ptr, 1000000000); 00174 ros::serialization::serialize(stream, link_names); 00175 ros::serialization::serialize(stream, robot_state); 00176 return stream.getData(); 00177 } 00178 00179 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00180 { 00181 ros::serialization::IStream stream(read_ptr, 1000000000); 00182 ros::serialization::deserialize(stream, link_names); 00183 ros::serialization::deserialize(stream, robot_state); 00184 return stream.getData(); 00185 } 00186 00187 ROS_DEPRECATED virtual uint32_t serializationLength() const 00188 { 00189 uint32_t size = 0; 00190 size += ros::serialization::serializationLength(link_names); 00191 size += ros::serialization::serializationLength(robot_state); 00192 return size; 00193 } 00194 00195 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > Ptr; 00196 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> const> ConstPtr; 00197 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00198 }; // struct GetStateCostRequest 00199 typedef ::chomp_motion_planner::GetStateCostRequest_<std::allocator<void> > GetStateCostRequest; 00200 00201 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostRequest> GetStateCostRequestPtr; 00202 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostRequest const> GetStateCostRequestConstPtr; 00203 00204 00205 template <class ContainerAllocator> 00206 struct GetStateCostResponse_ { 00207 typedef GetStateCostResponse_<ContainerAllocator> Type; 00208 00209 GetStateCostResponse_() 00210 : valid(false) 00211 , costs() 00212 { 00213 } 00214 00215 GetStateCostResponse_(const ContainerAllocator& _alloc) 00216 : valid(false) 00217 , costs(_alloc) 00218 { 00219 } 00220 00221 typedef uint8_t _valid_type; 00222 uint8_t valid; 00223 00224 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _costs_type; 00225 std::vector<double, typename ContainerAllocator::template rebind<double>::other > costs; 00226 00227 00228 ROS_DEPRECATED uint32_t get_costs_size() const { return (uint32_t)costs.size(); } 00229 ROS_DEPRECATED void set_costs_size(uint32_t size) { costs.resize((size_t)size); } 00230 ROS_DEPRECATED void get_costs_vec(std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) const { vec = this->costs; } 00231 ROS_DEPRECATED void set_costs_vec(const std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) { this->costs = vec; } 00232 private: 00233 static const char* __s_getDataType_() { return "chomp_motion_planner/GetStateCostResponse"; } 00234 public: 00235 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00236 00237 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00238 00239 private: 00240 static const char* __s_getMD5Sum_() { return "125a150f1be009a543837c8732501336"; } 00241 public: 00242 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00243 00244 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00245 00246 private: 00247 static const char* __s_getServerMD5Sum_() { return "e5ac7b8628485266624f522d76c812fd"; } 00248 public: 00249 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00250 00251 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00252 00253 private: 00254 static const char* __s_getMessageDefinition_() { return "\n\ 00255 bool valid\n\ 00256 \n\ 00257 float64[] costs\n\ 00258 \n\ 00259 \n\ 00260 "; } 00261 public: 00262 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00263 00264 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00265 00266 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00267 { 00268 ros::serialization::OStream stream(write_ptr, 1000000000); 00269 ros::serialization::serialize(stream, valid); 00270 ros::serialization::serialize(stream, costs); 00271 return stream.getData(); 00272 } 00273 00274 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00275 { 00276 ros::serialization::IStream stream(read_ptr, 1000000000); 00277 ros::serialization::deserialize(stream, valid); 00278 ros::serialization::deserialize(stream, costs); 00279 return stream.getData(); 00280 } 00281 00282 ROS_DEPRECATED virtual uint32_t serializationLength() const 00283 { 00284 uint32_t size = 0; 00285 size += ros::serialization::serializationLength(valid); 00286 size += ros::serialization::serializationLength(costs); 00287 return size; 00288 } 00289 00290 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > Ptr; 00291 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> const> ConstPtr; 00292 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00293 }; // struct GetStateCostResponse 00294 typedef ::chomp_motion_planner::GetStateCostResponse_<std::allocator<void> > GetStateCostResponse; 00295 00296 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostResponse> GetStateCostResponsePtr; 00297 typedef boost::shared_ptr< ::chomp_motion_planner::GetStateCostResponse const> GetStateCostResponseConstPtr; 00298 00299 struct GetStateCost 00300 { 00301 00302 typedef GetStateCostRequest Request; 00303 typedef GetStateCostResponse Response; 00304 Request request; 00305 Response response; 00306 00307 typedef Request RequestType; 00308 typedef Response ResponseType; 00309 }; // struct GetStateCost 00310 } // namespace chomp_motion_planner 00311 00312 namespace ros 00313 { 00314 namespace message_traits 00315 { 00316 template<class ContainerAllocator> struct IsMessage< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > : public TrueType {}; 00317 template<class ContainerAllocator> struct IsMessage< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> const> : public TrueType {}; 00318 template<class ContainerAllocator> 00319 struct MD5Sum< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > { 00320 static const char* value() 00321 { 00322 return "8eb8c1ec9dda8058aa5e5d82c1d8cda6"; 00323 } 00324 00325 static const char* value(const ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> &) { return value(); } 00326 static const uint64_t static_value1 = 0x8eb8c1ec9dda8058ULL; 00327 static const uint64_t static_value2 = 0xaa5e5d82c1d8cda6ULL; 00328 }; 00329 00330 template<class ContainerAllocator> 00331 struct DataType< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > { 00332 static const char* value() 00333 { 00334 return "chomp_motion_planner/GetStateCostRequest"; 00335 } 00336 00337 static const char* value(const ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> &) { return value(); } 00338 }; 00339 00340 template<class ContainerAllocator> 00341 struct Definition< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > { 00342 static const char* value() 00343 { 00344 return "\n\ 00345 \n\ 00346 \n\ 00347 string[] link_names\n\ 00348 \n\ 00349 arm_navigation_msgs/RobotState robot_state\n\ 00350 \n\ 00351 ================================================================================\n\ 00352 MSG: arm_navigation_msgs/RobotState\n\ 00353 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00354 sensor_msgs/JointState joint_state\n\ 00355 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00356 \n\ 00357 ================================================================================\n\ 00358 MSG: sensor_msgs/JointState\n\ 00359 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00360 #\n\ 00361 # The state of each joint (revolute or prismatic) is defined by:\n\ 00362 # * the position of the joint (rad or m),\n\ 00363 # * the velocity of the joint (rad/s or m/s) and \n\ 00364 # * the effort that is applied in the joint (Nm or N).\n\ 00365 #\n\ 00366 # Each joint is uniquely identified by its name\n\ 00367 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00368 # in one message have to be recorded at the same time.\n\ 00369 #\n\ 00370 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00371 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00372 # effort associated with them, you can leave the effort array empty. \n\ 00373 #\n\ 00374 # All arrays in this message should have the same size, or be empty.\n\ 00375 # This is the only way to uniquely associate the joint name with the correct\n\ 00376 # states.\n\ 00377 \n\ 00378 \n\ 00379 Header header\n\ 00380 \n\ 00381 string[] name\n\ 00382 float64[] position\n\ 00383 float64[] velocity\n\ 00384 float64[] effort\n\ 00385 \n\ 00386 ================================================================================\n\ 00387 MSG: std_msgs/Header\n\ 00388 # Standard metadata for higher-level stamped data types.\n\ 00389 # This is generally used to communicate timestamped data \n\ 00390 # in a particular coordinate frame.\n\ 00391 # \n\ 00392 # sequence ID: consecutively increasing ID \n\ 00393 uint32 seq\n\ 00394 #Two-integer timestamp that is expressed as:\n\ 00395 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00396 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00397 # time-handling sugar is provided by the client library\n\ 00398 time stamp\n\ 00399 #Frame this data is associated with\n\ 00400 # 0: no frame\n\ 00401 # 1: global frame\n\ 00402 string frame_id\n\ 00403 \n\ 00404 ================================================================================\n\ 00405 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00406 #A representation of a multi-dof joint state\n\ 00407 time stamp\n\ 00408 string[] joint_names\n\ 00409 string[] frame_ids\n\ 00410 string[] child_frame_ids\n\ 00411 geometry_msgs/Pose[] poses\n\ 00412 \n\ 00413 ================================================================================\n\ 00414 MSG: geometry_msgs/Pose\n\ 00415 # A representation of pose in free space, composed of postion and orientation. \n\ 00416 Point position\n\ 00417 Quaternion orientation\n\ 00418 \n\ 00419 ================================================================================\n\ 00420 MSG: geometry_msgs/Point\n\ 00421 # This contains the position of a point in free space\n\ 00422 float64 x\n\ 00423 float64 y\n\ 00424 float64 z\n\ 00425 \n\ 00426 ================================================================================\n\ 00427 MSG: geometry_msgs/Quaternion\n\ 00428 # This represents an orientation in free space in quaternion form.\n\ 00429 \n\ 00430 float64 x\n\ 00431 float64 y\n\ 00432 float64 z\n\ 00433 float64 w\n\ 00434 \n\ 00435 "; 00436 } 00437 00438 static const char* value(const ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> &) { return value(); } 00439 }; 00440 00441 } // namespace message_traits 00442 } // namespace ros 00443 00444 00445 namespace ros 00446 { 00447 namespace message_traits 00448 { 00449 template<class ContainerAllocator> struct IsMessage< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > : public TrueType {}; 00450 template<class ContainerAllocator> struct IsMessage< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> const> : public TrueType {}; 00451 template<class ContainerAllocator> 00452 struct MD5Sum< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > { 00453 static const char* value() 00454 { 00455 return "125a150f1be009a543837c8732501336"; 00456 } 00457 00458 static const char* value(const ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> &) { return value(); } 00459 static const uint64_t static_value1 = 0x125a150f1be009a5ULL; 00460 static const uint64_t static_value2 = 0x43837c8732501336ULL; 00461 }; 00462 00463 template<class ContainerAllocator> 00464 struct DataType< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > { 00465 static const char* value() 00466 { 00467 return "chomp_motion_planner/GetStateCostResponse"; 00468 } 00469 00470 static const char* value(const ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> &) { return value(); } 00471 }; 00472 00473 template<class ContainerAllocator> 00474 struct Definition< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > { 00475 static const char* value() 00476 { 00477 return "\n\ 00478 bool valid\n\ 00479 \n\ 00480 float64[] costs\n\ 00481 \n\ 00482 \n\ 00483 "; 00484 } 00485 00486 static const char* value(const ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> &) { return value(); } 00487 }; 00488 00489 } // namespace message_traits 00490 } // namespace ros 00491 00492 namespace ros 00493 { 00494 namespace serialization 00495 { 00496 00497 template<class ContainerAllocator> struct Serializer< ::chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > 00498 { 00499 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00500 { 00501 stream.next(m.link_names); 00502 stream.next(m.robot_state); 00503 } 00504 00505 ROS_DECLARE_ALLINONE_SERIALIZER; 00506 }; // struct GetStateCostRequest_ 00507 } // namespace serialization 00508 } // namespace ros 00509 00510 00511 namespace ros 00512 { 00513 namespace serialization 00514 { 00515 00516 template<class ContainerAllocator> struct Serializer< ::chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > 00517 { 00518 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00519 { 00520 stream.next(m.valid); 00521 stream.next(m.costs); 00522 } 00523 00524 ROS_DECLARE_ALLINONE_SERIALIZER; 00525 }; // struct GetStateCostResponse_ 00526 } // namespace serialization 00527 } // namespace ros 00528 00529 namespace ros 00530 { 00531 namespace service_traits 00532 { 00533 template<> 00534 struct MD5Sum<chomp_motion_planner::GetStateCost> { 00535 static const char* value() 00536 { 00537 return "e5ac7b8628485266624f522d76c812fd"; 00538 } 00539 00540 static const char* value(const chomp_motion_planner::GetStateCost&) { return value(); } 00541 }; 00542 00543 template<> 00544 struct DataType<chomp_motion_planner::GetStateCost> { 00545 static const char* value() 00546 { 00547 return "chomp_motion_planner/GetStateCost"; 00548 } 00549 00550 static const char* value(const chomp_motion_planner::GetStateCost&) { return value(); } 00551 }; 00552 00553 template<class ContainerAllocator> 00554 struct MD5Sum<chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > { 00555 static const char* value() 00556 { 00557 return "e5ac7b8628485266624f522d76c812fd"; 00558 } 00559 00560 static const char* value(const chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> &) { return value(); } 00561 }; 00562 00563 template<class ContainerAllocator> 00564 struct DataType<chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> > { 00565 static const char* value() 00566 { 00567 return "chomp_motion_planner/GetStateCost"; 00568 } 00569 00570 static const char* value(const chomp_motion_planner::GetStateCostRequest_<ContainerAllocator> &) { return value(); } 00571 }; 00572 00573 template<class ContainerAllocator> 00574 struct MD5Sum<chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > { 00575 static const char* value() 00576 { 00577 return "e5ac7b8628485266624f522d76c812fd"; 00578 } 00579 00580 static const char* value(const chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> &) { return value(); } 00581 }; 00582 00583 template<class ContainerAllocator> 00584 struct DataType<chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> > { 00585 static const char* value() 00586 { 00587 return "chomp_motion_planner/GetStateCost"; 00588 } 00589 00590 static const char* value(const chomp_motion_planner::GetStateCostResponse_<ContainerAllocator> &) { return value(); } 00591 }; 00592 00593 } // namespace service_traits 00594 } // namespace ros 00595 00596 #endif // CHOMP_MOTION_PLANNER_SERVICE_GETSTATECOST_H 00597