00001
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 };
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 };
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 };
00310 }
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 }
00442 }
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 }
00490 }
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 };
00507 }
00508 }
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 };
00526 }
00527 }
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 }
00594 }
00595
00596 #endif // CHOMP_MOTION_PLANNER_SERVICE_GETSTATECOST_H
00597