$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-srs_public/doc_stacks/2013-03-05_12-22-34.333426/srs_public/srs_leg_detector/srv/DetectLegs.srv */ 00002 #ifndef SRS_LEG_DETECTOR_SERVICE_DETECTLEGS_H 00003 #define SRS_LEG_DETECTOR_SERVICE_DETECTLEGS_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 00020 00021 #include "sensor_msgs/PointCloud.h" 00022 00023 namespace srs_leg_detector 00024 { 00025 template <class ContainerAllocator> 00026 struct DetectLegsRequest_ { 00027 typedef DetectLegsRequest_<ContainerAllocator> Type; 00028 00029 DetectLegsRequest_() 00030 { 00031 } 00032 00033 DetectLegsRequest_(const ContainerAllocator& _alloc) 00034 { 00035 } 00036 00037 00038 private: 00039 static const char* __s_getDataType_() { return "srs_leg_detector/DetectLegsRequest"; } 00040 public: 00041 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00042 00043 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00044 00045 private: 00046 static const char* __s_getMD5Sum_() { return "d41d8cd98f00b204e9800998ecf8427e"; } 00047 public: 00048 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00049 00050 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00051 00052 private: 00053 static const char* __s_getServerMD5Sum_() { return "941854f3e81fd64b94eaa0d5b1ad95e1"; } 00054 public: 00055 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00056 00057 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00058 00059 private: 00060 static const char* __s_getMessageDefinition_() { return "\n\ 00061 \n\ 00062 "; } 00063 public: 00064 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00065 00066 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00067 00068 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00069 { 00070 ros::serialization::OStream stream(write_ptr, 1000000000); 00071 return stream.getData(); 00072 } 00073 00074 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00075 { 00076 ros::serialization::IStream stream(read_ptr, 1000000000); 00077 return stream.getData(); 00078 } 00079 00080 ROS_DEPRECATED virtual uint32_t serializationLength() const 00081 { 00082 uint32_t size = 0; 00083 return size; 00084 } 00085 00086 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > Ptr; 00087 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> const> ConstPtr; 00088 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00089 }; // struct DetectLegsRequest 00090 typedef ::srs_leg_detector::DetectLegsRequest_<std::allocator<void> > DetectLegsRequest; 00091 00092 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsRequest> DetectLegsRequestPtr; 00093 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsRequest const> DetectLegsRequestConstPtr; 00094 00095 00096 template <class ContainerAllocator> 00097 struct DetectLegsResponse_ { 00098 typedef DetectLegsResponse_<ContainerAllocator> Type; 00099 00100 DetectLegsResponse_() 00101 : leg_list() 00102 { 00103 } 00104 00105 DetectLegsResponse_(const ContainerAllocator& _alloc) 00106 : leg_list(_alloc) 00107 { 00108 } 00109 00110 typedef ::sensor_msgs::PointCloud_<ContainerAllocator> _leg_list_type; 00111 ::sensor_msgs::PointCloud_<ContainerAllocator> leg_list; 00112 00113 00114 private: 00115 static const char* __s_getDataType_() { return "srs_leg_detector/DetectLegsResponse"; } 00116 public: 00117 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00118 00119 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00120 00121 private: 00122 static const char* __s_getMD5Sum_() { return "941854f3e81fd64b94eaa0d5b1ad95e1"; } 00123 public: 00124 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00125 00126 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00127 00128 private: 00129 static const char* __s_getServerMD5Sum_() { return "941854f3e81fd64b94eaa0d5b1ad95e1"; } 00130 public: 00131 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00132 00133 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00134 00135 private: 00136 static const char* __s_getMessageDefinition_() { return "\n\ 00137 sensor_msgs/PointCloud leg_list\n\ 00138 \n\ 00139 \n\ 00140 ================================================================================\n\ 00141 MSG: sensor_msgs/PointCloud\n\ 00142 # This message holds a collection of 3d points, plus optional additional\n\ 00143 # information about each point.\n\ 00144 \n\ 00145 # Time of sensor data acquisition, coordinate frame ID.\n\ 00146 Header header\n\ 00147 \n\ 00148 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\ 00149 # in the frame given in the header.\n\ 00150 geometry_msgs/Point32[] points\n\ 00151 \n\ 00152 # Each channel should have the same number of elements as points array,\n\ 00153 # and the data in each channel should correspond 1:1 with each point.\n\ 00154 # Channel names in common practice are listed in ChannelFloat32.msg.\n\ 00155 ChannelFloat32[] channels\n\ 00156 \n\ 00157 ================================================================================\n\ 00158 MSG: std_msgs/Header\n\ 00159 # Standard metadata for higher-level stamped data types.\n\ 00160 # This is generally used to communicate timestamped data \n\ 00161 # in a particular coordinate frame.\n\ 00162 # \n\ 00163 # sequence ID: consecutively increasing ID \n\ 00164 uint32 seq\n\ 00165 #Two-integer timestamp that is expressed as:\n\ 00166 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00167 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00168 # time-handling sugar is provided by the client library\n\ 00169 time stamp\n\ 00170 #Frame this data is associated with\n\ 00171 # 0: no frame\n\ 00172 # 1: global frame\n\ 00173 string frame_id\n\ 00174 \n\ 00175 ================================================================================\n\ 00176 MSG: geometry_msgs/Point32\n\ 00177 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00178 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00179 # \n\ 00180 # This recommendation is to promote interoperability. \n\ 00181 #\n\ 00182 # This message is designed to take up less space when sending\n\ 00183 # lots of points at once, as in the case of a PointCloud. \n\ 00184 \n\ 00185 float32 x\n\ 00186 float32 y\n\ 00187 float32 z\n\ 00188 ================================================================================\n\ 00189 MSG: sensor_msgs/ChannelFloat32\n\ 00190 # This message is used by the PointCloud message to hold optional data\n\ 00191 # associated with each point in the cloud. The length of the values\n\ 00192 # array should be the same as the length of the points array in the\n\ 00193 # PointCloud, and each value should be associated with the corresponding\n\ 00194 # point.\n\ 00195 \n\ 00196 # Channel names in existing practice include:\n\ 00197 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\ 00198 # This is opposite to usual conventions but remains for\n\ 00199 # historical reasons. The newer PointCloud2 message has no\n\ 00200 # such problem.\n\ 00201 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\ 00202 # (R,G,B) values packed into the least significant 24 bits,\n\ 00203 # in order.\n\ 00204 # \"intensity\" - laser or pixel intensity.\n\ 00205 # \"distance\"\n\ 00206 \n\ 00207 # The channel name should give semantics of the channel (e.g.\n\ 00208 # \"intensity\" instead of \"value\").\n\ 00209 string name\n\ 00210 \n\ 00211 # The values array should be 1-1 with the elements of the associated\n\ 00212 # PointCloud.\n\ 00213 float32[] values\n\ 00214 \n\ 00215 "; } 00216 public: 00217 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00218 00219 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00220 00221 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00222 { 00223 ros::serialization::OStream stream(write_ptr, 1000000000); 00224 ros::serialization::serialize(stream, leg_list); 00225 return stream.getData(); 00226 } 00227 00228 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00229 { 00230 ros::serialization::IStream stream(read_ptr, 1000000000); 00231 ros::serialization::deserialize(stream, leg_list); 00232 return stream.getData(); 00233 } 00234 00235 ROS_DEPRECATED virtual uint32_t serializationLength() const 00236 { 00237 uint32_t size = 0; 00238 size += ros::serialization::serializationLength(leg_list); 00239 return size; 00240 } 00241 00242 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > Ptr; 00243 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> const> ConstPtr; 00244 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00245 }; // struct DetectLegsResponse 00246 typedef ::srs_leg_detector::DetectLegsResponse_<std::allocator<void> > DetectLegsResponse; 00247 00248 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsResponse> DetectLegsResponsePtr; 00249 typedef boost::shared_ptr< ::srs_leg_detector::DetectLegsResponse const> DetectLegsResponseConstPtr; 00250 00251 struct DetectLegs 00252 { 00253 00254 typedef DetectLegsRequest Request; 00255 typedef DetectLegsResponse Response; 00256 Request request; 00257 Response response; 00258 00259 typedef Request RequestType; 00260 typedef Response ResponseType; 00261 }; // struct DetectLegs 00262 } // namespace srs_leg_detector 00263 00264 namespace ros 00265 { 00266 namespace message_traits 00267 { 00268 template<class ContainerAllocator> struct IsMessage< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > : public TrueType {}; 00269 template<class ContainerAllocator> struct IsMessage< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> const> : public TrueType {}; 00270 template<class ContainerAllocator> 00271 struct MD5Sum< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > { 00272 static const char* value() 00273 { 00274 return "d41d8cd98f00b204e9800998ecf8427e"; 00275 } 00276 00277 static const char* value(const ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> &) { return value(); } 00278 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL; 00279 static const uint64_t static_value2 = 0xe9800998ecf8427eULL; 00280 }; 00281 00282 template<class ContainerAllocator> 00283 struct DataType< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > { 00284 static const char* value() 00285 { 00286 return "srs_leg_detector/DetectLegsRequest"; 00287 } 00288 00289 static const char* value(const ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> &) { return value(); } 00290 }; 00291 00292 template<class ContainerAllocator> 00293 struct Definition< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > { 00294 static const char* value() 00295 { 00296 return "\n\ 00297 \n\ 00298 "; 00299 } 00300 00301 static const char* value(const ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> &) { return value(); } 00302 }; 00303 00304 template<class ContainerAllocator> struct IsFixedSize< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > : public TrueType {}; 00305 } // namespace message_traits 00306 } // namespace ros 00307 00308 00309 namespace ros 00310 { 00311 namespace message_traits 00312 { 00313 template<class ContainerAllocator> struct IsMessage< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > : public TrueType {}; 00314 template<class ContainerAllocator> struct IsMessage< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> const> : public TrueType {}; 00315 template<class ContainerAllocator> 00316 struct MD5Sum< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > { 00317 static const char* value() 00318 { 00319 return "941854f3e81fd64b94eaa0d5b1ad95e1"; 00320 } 00321 00322 static const char* value(const ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> &) { return value(); } 00323 static const uint64_t static_value1 = 0x941854f3e81fd64bULL; 00324 static const uint64_t static_value2 = 0x94eaa0d5b1ad95e1ULL; 00325 }; 00326 00327 template<class ContainerAllocator> 00328 struct DataType< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > { 00329 static const char* value() 00330 { 00331 return "srs_leg_detector/DetectLegsResponse"; 00332 } 00333 00334 static const char* value(const ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> &) { return value(); } 00335 }; 00336 00337 template<class ContainerAllocator> 00338 struct Definition< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > { 00339 static const char* value() 00340 { 00341 return "\n\ 00342 sensor_msgs/PointCloud leg_list\n\ 00343 \n\ 00344 \n\ 00345 ================================================================================\n\ 00346 MSG: sensor_msgs/PointCloud\n\ 00347 # This message holds a collection of 3d points, plus optional additional\n\ 00348 # information about each point.\n\ 00349 \n\ 00350 # Time of sensor data acquisition, coordinate frame ID.\n\ 00351 Header header\n\ 00352 \n\ 00353 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\ 00354 # in the frame given in the header.\n\ 00355 geometry_msgs/Point32[] points\n\ 00356 \n\ 00357 # Each channel should have the same number of elements as points array,\n\ 00358 # and the data in each channel should correspond 1:1 with each point.\n\ 00359 # Channel names in common practice are listed in ChannelFloat32.msg.\n\ 00360 ChannelFloat32[] channels\n\ 00361 \n\ 00362 ================================================================================\n\ 00363 MSG: std_msgs/Header\n\ 00364 # Standard metadata for higher-level stamped data types.\n\ 00365 # This is generally used to communicate timestamped data \n\ 00366 # in a particular coordinate frame.\n\ 00367 # \n\ 00368 # sequence ID: consecutively increasing ID \n\ 00369 uint32 seq\n\ 00370 #Two-integer timestamp that is expressed as:\n\ 00371 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00372 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00373 # time-handling sugar is provided by the client library\n\ 00374 time stamp\n\ 00375 #Frame this data is associated with\n\ 00376 # 0: no frame\n\ 00377 # 1: global frame\n\ 00378 string frame_id\n\ 00379 \n\ 00380 ================================================================================\n\ 00381 MSG: geometry_msgs/Point32\n\ 00382 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00383 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00384 # \n\ 00385 # This recommendation is to promote interoperability. \n\ 00386 #\n\ 00387 # This message is designed to take up less space when sending\n\ 00388 # lots of points at once, as in the case of a PointCloud. \n\ 00389 \n\ 00390 float32 x\n\ 00391 float32 y\n\ 00392 float32 z\n\ 00393 ================================================================================\n\ 00394 MSG: sensor_msgs/ChannelFloat32\n\ 00395 # This message is used by the PointCloud message to hold optional data\n\ 00396 # associated with each point in the cloud. The length of the values\n\ 00397 # array should be the same as the length of the points array in the\n\ 00398 # PointCloud, and each value should be associated with the corresponding\n\ 00399 # point.\n\ 00400 \n\ 00401 # Channel names in existing practice include:\n\ 00402 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\ 00403 # This is opposite to usual conventions but remains for\n\ 00404 # historical reasons. The newer PointCloud2 message has no\n\ 00405 # such problem.\n\ 00406 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\ 00407 # (R,G,B) values packed into the least significant 24 bits,\n\ 00408 # in order.\n\ 00409 # \"intensity\" - laser or pixel intensity.\n\ 00410 # \"distance\"\n\ 00411 \n\ 00412 # The channel name should give semantics of the channel (e.g.\n\ 00413 # \"intensity\" instead of \"value\").\n\ 00414 string name\n\ 00415 \n\ 00416 # The values array should be 1-1 with the elements of the associated\n\ 00417 # PointCloud.\n\ 00418 float32[] values\n\ 00419 \n\ 00420 "; 00421 } 00422 00423 static const char* value(const ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> &) { return value(); } 00424 }; 00425 00426 } // namespace message_traits 00427 } // namespace ros 00428 00429 namespace ros 00430 { 00431 namespace serialization 00432 { 00433 00434 template<class ContainerAllocator> struct Serializer< ::srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > 00435 { 00436 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00437 { 00438 } 00439 00440 ROS_DECLARE_ALLINONE_SERIALIZER; 00441 }; // struct DetectLegsRequest_ 00442 } // namespace serialization 00443 } // namespace ros 00444 00445 00446 namespace ros 00447 { 00448 namespace serialization 00449 { 00450 00451 template<class ContainerAllocator> struct Serializer< ::srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > 00452 { 00453 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00454 { 00455 stream.next(m.leg_list); 00456 } 00457 00458 ROS_DECLARE_ALLINONE_SERIALIZER; 00459 }; // struct DetectLegsResponse_ 00460 } // namespace serialization 00461 } // namespace ros 00462 00463 namespace ros 00464 { 00465 namespace service_traits 00466 { 00467 template<> 00468 struct MD5Sum<srs_leg_detector::DetectLegs> { 00469 static const char* value() 00470 { 00471 return "941854f3e81fd64b94eaa0d5b1ad95e1"; 00472 } 00473 00474 static const char* value(const srs_leg_detector::DetectLegs&) { return value(); } 00475 }; 00476 00477 template<> 00478 struct DataType<srs_leg_detector::DetectLegs> { 00479 static const char* value() 00480 { 00481 return "srs_leg_detector/DetectLegs"; 00482 } 00483 00484 static const char* value(const srs_leg_detector::DetectLegs&) { return value(); } 00485 }; 00486 00487 template<class ContainerAllocator> 00488 struct MD5Sum<srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > { 00489 static const char* value() 00490 { 00491 return "941854f3e81fd64b94eaa0d5b1ad95e1"; 00492 } 00493 00494 static const char* value(const srs_leg_detector::DetectLegsRequest_<ContainerAllocator> &) { return value(); } 00495 }; 00496 00497 template<class ContainerAllocator> 00498 struct DataType<srs_leg_detector::DetectLegsRequest_<ContainerAllocator> > { 00499 static const char* value() 00500 { 00501 return "srs_leg_detector/DetectLegs"; 00502 } 00503 00504 static const char* value(const srs_leg_detector::DetectLegsRequest_<ContainerAllocator> &) { return value(); } 00505 }; 00506 00507 template<class ContainerAllocator> 00508 struct MD5Sum<srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > { 00509 static const char* value() 00510 { 00511 return "941854f3e81fd64b94eaa0d5b1ad95e1"; 00512 } 00513 00514 static const char* value(const srs_leg_detector::DetectLegsResponse_<ContainerAllocator> &) { return value(); } 00515 }; 00516 00517 template<class ContainerAllocator> 00518 struct DataType<srs_leg_detector::DetectLegsResponse_<ContainerAllocator> > { 00519 static const char* value() 00520 { 00521 return "srs_leg_detector/DetectLegs"; 00522 } 00523 00524 static const char* value(const srs_leg_detector::DetectLegsResponse_<ContainerAllocator> &) { return value(); } 00525 }; 00526 00527 } // namespace service_traits 00528 } // namespace ros 00529 00530 #endif // SRS_LEG_DETECTOR_SERVICE_DETECTLEGS_H 00531