00001
00002 #ifndef FAST_PLANE_DETECTION_SERVICE_PLANEINREGION_H
00003 #define FAST_PLANE_DETECTION_SERVICE_PLANEINREGION_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 "geometry_msgs/Vector3Stamped.h"
00016
00017
00018 #include "fast_plane_detection/Plane.h"
00019
00020 namespace fast_plane_detection
00021 {
00022 template <class ContainerAllocator>
00023 struct PlaneInRegionRequest_ : public ros::Message
00024 {
00025 typedef PlaneInRegionRequest_<ContainerAllocator> Type;
00026
00027 PlaneInRegionRequest_()
00028 : point()
00029 , width(0)
00030 , height(0)
00031 {
00032 }
00033
00034 PlaneInRegionRequest_(const ContainerAllocator& _alloc)
00035 : point(_alloc)
00036 , width(0)
00037 , height(0)
00038 {
00039 }
00040
00041 typedef ::geometry_msgs::Vector3Stamped_<ContainerAllocator> _point_type;
00042 ::geometry_msgs::Vector3Stamped_<ContainerAllocator> point;
00043
00044 typedef int64_t _width_type;
00045 int64_t width;
00046
00047 typedef int64_t _height_type;
00048 int64_t height;
00049
00050
00051 private:
00052 static const char* __s_getDataType_() { return "fast_plane_detection/PlaneInRegionRequest"; }
00053 public:
00054 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00055
00056 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00057
00058 private:
00059 static const char* __s_getMD5Sum_() { return "7d70c4a3215f16e600ab2fb0a95d82d8"; }
00060 public:
00061 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00062
00063 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00064
00065 private:
00066 static const char* __s_getServerMD5Sum_() { return "226b53e3d5df28a414da0d1d86fc1e00"; }
00067 public:
00068 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00069
00070 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00071
00072 private:
00073 static const char* __s_getMessageDefinition_() { return "\n\
00074 \n\
00075 \n\
00076 geometry_msgs/Vector3Stamped point\n\
00077 \n\
00078 int64 width\n\
00079 int64 height\n\
00080 \n\
00081 \n\
00082 ================================================================================\n\
00083 MSG: geometry_msgs/Vector3Stamped\n\
00084 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00085 Header header\n\
00086 Vector3 vector\n\
00087 \n\
00088 ================================================================================\n\
00089 MSG: std_msgs/Header\n\
00090 # Standard metadata for higher-level stamped data types.\n\
00091 # This is generally used to communicate timestamped data \n\
00092 # in a particular coordinate frame.\n\
00093 # \n\
00094 # sequence ID: consecutively increasing ID \n\
00095 uint32 seq\n\
00096 #Two-integer timestamp that is expressed as:\n\
00097 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00098 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00099 # time-handling sugar is provided by the client library\n\
00100 time stamp\n\
00101 #Frame this data is associated with\n\
00102 # 0: no frame\n\
00103 # 1: global frame\n\
00104 string frame_id\n\
00105 \n\
00106 ================================================================================\n\
00107 MSG: geometry_msgs/Vector3\n\
00108 # This represents a vector in free space. \n\
00109 \n\
00110 float64 x\n\
00111 float64 y\n\
00112 float64 z\n\
00113 "; }
00114 public:
00115 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00116
00117 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00118
00119 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00120 {
00121 ros::serialization::OStream stream(write_ptr, 1000000000);
00122 ros::serialization::serialize(stream, point);
00123 ros::serialization::serialize(stream, width);
00124 ros::serialization::serialize(stream, height);
00125 return stream.getData();
00126 }
00127
00128 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00129 {
00130 ros::serialization::IStream stream(read_ptr, 1000000000);
00131 ros::serialization::deserialize(stream, point);
00132 ros::serialization::deserialize(stream, width);
00133 ros::serialization::deserialize(stream, height);
00134 return stream.getData();
00135 }
00136
00137 ROS_DEPRECATED virtual uint32_t serializationLength() const
00138 {
00139 uint32_t size = 0;
00140 size += ros::serialization::serializationLength(point);
00141 size += ros::serialization::serializationLength(width);
00142 size += ros::serialization::serializationLength(height);
00143 return size;
00144 }
00145
00146 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > Ptr;
00147 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> const> ConstPtr;
00148 };
00149 typedef ::fast_plane_detection::PlaneInRegionRequest_<std::allocator<void> > PlaneInRegionRequest;
00150
00151 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionRequest> PlaneInRegionRequestPtr;
00152 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionRequest const> PlaneInRegionRequestConstPtr;
00153
00154
00155 template <class ContainerAllocator>
00156 struct PlaneInRegionResponse_ : public ros::Message
00157 {
00158 typedef PlaneInRegionResponse_<ContainerAllocator> Type;
00159
00160 PlaneInRegionResponse_()
00161 : plane()
00162 {
00163 }
00164
00165 PlaneInRegionResponse_(const ContainerAllocator& _alloc)
00166 : plane(_alloc)
00167 {
00168 }
00169
00170 typedef ::fast_plane_detection::Plane_<ContainerAllocator> _plane_type;
00171 ::fast_plane_detection::Plane_<ContainerAllocator> plane;
00172
00173
00174 private:
00175 static const char* __s_getDataType_() { return "fast_plane_detection/PlaneInRegionResponse"; }
00176 public:
00177 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00178
00179 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00180
00181 private:
00182 static const char* __s_getMD5Sum_() { return "fc03c1721a8ecac7e524ced76187dcd4"; }
00183 public:
00184 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00185
00186 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00187
00188 private:
00189 static const char* __s_getServerMD5Sum_() { return "226b53e3d5df28a414da0d1d86fc1e00"; }
00190 public:
00191 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00192
00193 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00194
00195 private:
00196 static const char* __s_getMessageDefinition_() { return "\n\
00197 fast_plane_detection/Plane plane\n\
00198 \n\
00199 \n\
00200 ================================================================================\n\
00201 MSG: fast_plane_detection/Plane\n\
00202 # Informs that a plane has been detected at a given location\n\
00203 \n\
00204 # The pose gives you the transform that take you to the coordinate system\n\
00205 # of the plane, with the origin somewhere in the plane and the \n\
00206 # z axis normal to the plane\n\
00207 geometry_msgs/PoseStamped pose\n\
00208 \n\
00209 # Point + normal vector of the plane\n\
00210 geometry_msgs/PointStamped plane_point\n\
00211 geometry_msgs/Vector3Stamped normal\n\
00212 float64 plane_d\n\
00213 \n\
00214 geometry_msgs/PointStamped slave_point\n\
00215 \n\
00216 \n\
00217 # These values give you the observed extents of the plane, along x and y,\n\
00218 # in the plane's own coordinate system (above)\n\
00219 # there is no guarantee that the origin of the plane coordinate system is\n\
00220 # inside the boundary defined by these values. \n\
00221 geometry_msgs/Point32 top_left\n\
00222 geometry_msgs/Point32 top_right\n\
00223 \n\
00224 geometry_msgs/Point32 bottom_left\n\
00225 geometry_msgs/Point32 bottom_right\n\
00226 \n\
00227 # There is no guarantee that the plane doe NOT extend further than these \n\
00228 # values; this is just as far as we've observed it.\n\
00229 \n\
00230 # Whether the detection has succeeded or failed\n\
00231 int32 SUCCESS = 1\n\
00232 int32 FEW_INLIERS = 2\n\
00233 int32 NO_PLANE = 3\n\
00234 int32 OTHER_ERROR = 4\n\
00235 int32 result\n\
00236 int32 percentage_inliers\n\
00237 \n\
00238 # confidence indicators of plane detection\n\
00239 # mean squared error\n\
00240 float32 error\n\
00241 ================================================================================\n\
00242 MSG: geometry_msgs/PoseStamped\n\
00243 # A Pose with reference coordinate frame and timestamp\n\
00244 Header header\n\
00245 Pose pose\n\
00246 \n\
00247 ================================================================================\n\
00248 MSG: std_msgs/Header\n\
00249 # Standard metadata for higher-level stamped data types.\n\
00250 # This is generally used to communicate timestamped data \n\
00251 # in a particular coordinate frame.\n\
00252 # \n\
00253 # sequence ID: consecutively increasing ID \n\
00254 uint32 seq\n\
00255 #Two-integer timestamp that is expressed as:\n\
00256 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00257 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00258 # time-handling sugar is provided by the client library\n\
00259 time stamp\n\
00260 #Frame this data is associated with\n\
00261 # 0: no frame\n\
00262 # 1: global frame\n\
00263 string frame_id\n\
00264 \n\
00265 ================================================================================\n\
00266 MSG: geometry_msgs/Pose\n\
00267 # A representation of pose in free space, composed of postion and orientation. \n\
00268 Point position\n\
00269 Quaternion orientation\n\
00270 \n\
00271 ================================================================================\n\
00272 MSG: geometry_msgs/Point\n\
00273 # This contains the position of a point in free space\n\
00274 float64 x\n\
00275 float64 y\n\
00276 float64 z\n\
00277 \n\
00278 ================================================================================\n\
00279 MSG: geometry_msgs/Quaternion\n\
00280 # This represents an orientation in free space in quaternion form.\n\
00281 \n\
00282 float64 x\n\
00283 float64 y\n\
00284 float64 z\n\
00285 float64 w\n\
00286 \n\
00287 ================================================================================\n\
00288 MSG: geometry_msgs/PointStamped\n\
00289 # This represents a Point with reference coordinate frame and timestamp\n\
00290 Header header\n\
00291 Point point\n\
00292 \n\
00293 ================================================================================\n\
00294 MSG: geometry_msgs/Vector3Stamped\n\
00295 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00296 Header header\n\
00297 Vector3 vector\n\
00298 \n\
00299 ================================================================================\n\
00300 MSG: geometry_msgs/Vector3\n\
00301 # This represents a vector in free space. \n\
00302 \n\
00303 float64 x\n\
00304 float64 y\n\
00305 float64 z\n\
00306 ================================================================================\n\
00307 MSG: geometry_msgs/Point32\n\
00308 # This contains the position of a point in free space(with 32 bits of precision).\n\
00309 # It is recommeded to use Point wherever possible instead of Point32. \n\
00310 # \n\
00311 # This recommendation is to promote interoperability. \n\
00312 #\n\
00313 # This message is designed to take up less space when sending\n\
00314 # lots of points at once, as in the case of a PointCloud. \n\
00315 \n\
00316 float32 x\n\
00317 float32 y\n\
00318 float32 z\n\
00319 "; }
00320 public:
00321 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00322
00323 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00324
00325 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00326 {
00327 ros::serialization::OStream stream(write_ptr, 1000000000);
00328 ros::serialization::serialize(stream, plane);
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, plane);
00336 return stream.getData();
00337 }
00338
00339 ROS_DEPRECATED virtual uint32_t serializationLength() const
00340 {
00341 uint32_t size = 0;
00342 size += ros::serialization::serializationLength(plane);
00343 return size;
00344 }
00345
00346 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > Ptr;
00347 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> const> ConstPtr;
00348 };
00349 typedef ::fast_plane_detection::PlaneInRegionResponse_<std::allocator<void> > PlaneInRegionResponse;
00350
00351 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionResponse> PlaneInRegionResponsePtr;
00352 typedef boost::shared_ptr< ::fast_plane_detection::PlaneInRegionResponse const> PlaneInRegionResponseConstPtr;
00353
00354 struct PlaneInRegion
00355 {
00356
00357 typedef PlaneInRegionRequest Request;
00358 typedef PlaneInRegionResponse Response;
00359 Request request;
00360 Response response;
00361
00362 typedef Request RequestType;
00363 typedef Response ResponseType;
00364 };
00365 }
00366
00367 namespace ros
00368 {
00369 namespace message_traits
00370 {
00371 template<class ContainerAllocator>
00372 struct MD5Sum< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > {
00373 static const char* value()
00374 {
00375 return "7d70c4a3215f16e600ab2fb0a95d82d8";
00376 }
00377
00378 static const char* value(const ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> &) { return value(); }
00379 static const uint64_t static_value1 = 0x7d70c4a3215f16e6ULL;
00380 static const uint64_t static_value2 = 0x00ab2fb0a95d82d8ULL;
00381 };
00382
00383 template<class ContainerAllocator>
00384 struct DataType< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > {
00385 static const char* value()
00386 {
00387 return "fast_plane_detection/PlaneInRegionRequest";
00388 }
00389
00390 static const char* value(const ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> &) { return value(); }
00391 };
00392
00393 template<class ContainerAllocator>
00394 struct Definition< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > {
00395 static const char* value()
00396 {
00397 return "\n\
00398 \n\
00399 \n\
00400 geometry_msgs/Vector3Stamped point\n\
00401 \n\
00402 int64 width\n\
00403 int64 height\n\
00404 \n\
00405 \n\
00406 ================================================================================\n\
00407 MSG: geometry_msgs/Vector3Stamped\n\
00408 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00409 Header header\n\
00410 Vector3 vector\n\
00411 \n\
00412 ================================================================================\n\
00413 MSG: std_msgs/Header\n\
00414 # Standard metadata for higher-level stamped data types.\n\
00415 # This is generally used to communicate timestamped data \n\
00416 # in a particular coordinate frame.\n\
00417 # \n\
00418 # sequence ID: consecutively increasing ID \n\
00419 uint32 seq\n\
00420 #Two-integer timestamp that is expressed as:\n\
00421 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00422 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00423 # time-handling sugar is provided by the client library\n\
00424 time stamp\n\
00425 #Frame this data is associated with\n\
00426 # 0: no frame\n\
00427 # 1: global frame\n\
00428 string frame_id\n\
00429 \n\
00430 ================================================================================\n\
00431 MSG: geometry_msgs/Vector3\n\
00432 # This represents a vector in free space. \n\
00433 \n\
00434 float64 x\n\
00435 float64 y\n\
00436 float64 z\n\
00437 ";
00438 }
00439
00440 static const char* value(const ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> &) { return value(); }
00441 };
00442
00443 }
00444 }
00445
00446
00447 namespace ros
00448 {
00449 namespace message_traits
00450 {
00451 template<class ContainerAllocator>
00452 struct MD5Sum< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > {
00453 static const char* value()
00454 {
00455 return "fc03c1721a8ecac7e524ced76187dcd4";
00456 }
00457
00458 static const char* value(const ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> &) { return value(); }
00459 static const uint64_t static_value1 = 0xfc03c1721a8ecac7ULL;
00460 static const uint64_t static_value2 = 0xe524ced76187dcd4ULL;
00461 };
00462
00463 template<class ContainerAllocator>
00464 struct DataType< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > {
00465 static const char* value()
00466 {
00467 return "fast_plane_detection/PlaneInRegionResponse";
00468 }
00469
00470 static const char* value(const ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> &) { return value(); }
00471 };
00472
00473 template<class ContainerAllocator>
00474 struct Definition< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > {
00475 static const char* value()
00476 {
00477 return "\n\
00478 fast_plane_detection/Plane plane\n\
00479 \n\
00480 \n\
00481 ================================================================================\n\
00482 MSG: fast_plane_detection/Plane\n\
00483 # Informs that a plane has been detected at a given location\n\
00484 \n\
00485 # The pose gives you the transform that take you to the coordinate system\n\
00486 # of the plane, with the origin somewhere in the plane and the \n\
00487 # z axis normal to the plane\n\
00488 geometry_msgs/PoseStamped pose\n\
00489 \n\
00490 # Point + normal vector of the plane\n\
00491 geometry_msgs/PointStamped plane_point\n\
00492 geometry_msgs/Vector3Stamped normal\n\
00493 float64 plane_d\n\
00494 \n\
00495 geometry_msgs/PointStamped slave_point\n\
00496 \n\
00497 \n\
00498 # These values give you the observed extents of the plane, along x and y,\n\
00499 # in the plane's own coordinate system (above)\n\
00500 # there is no guarantee that the origin of the plane coordinate system is\n\
00501 # inside the boundary defined by these values. \n\
00502 geometry_msgs/Point32 top_left\n\
00503 geometry_msgs/Point32 top_right\n\
00504 \n\
00505 geometry_msgs/Point32 bottom_left\n\
00506 geometry_msgs/Point32 bottom_right\n\
00507 \n\
00508 # There is no guarantee that the plane doe NOT extend further than these \n\
00509 # values; this is just as far as we've observed it.\n\
00510 \n\
00511 # Whether the detection has succeeded or failed\n\
00512 int32 SUCCESS = 1\n\
00513 int32 FEW_INLIERS = 2\n\
00514 int32 NO_PLANE = 3\n\
00515 int32 OTHER_ERROR = 4\n\
00516 int32 result\n\
00517 int32 percentage_inliers\n\
00518 \n\
00519 # confidence indicators of plane detection\n\
00520 # mean squared error\n\
00521 float32 error\n\
00522 ================================================================================\n\
00523 MSG: geometry_msgs/PoseStamped\n\
00524 # A Pose with reference coordinate frame and timestamp\n\
00525 Header header\n\
00526 Pose pose\n\
00527 \n\
00528 ================================================================================\n\
00529 MSG: std_msgs/Header\n\
00530 # Standard metadata for higher-level stamped data types.\n\
00531 # This is generally used to communicate timestamped data \n\
00532 # in a particular coordinate frame.\n\
00533 # \n\
00534 # sequence ID: consecutively increasing ID \n\
00535 uint32 seq\n\
00536 #Two-integer timestamp that is expressed as:\n\
00537 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00538 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00539 # time-handling sugar is provided by the client library\n\
00540 time stamp\n\
00541 #Frame this data is associated with\n\
00542 # 0: no frame\n\
00543 # 1: global frame\n\
00544 string frame_id\n\
00545 \n\
00546 ================================================================================\n\
00547 MSG: geometry_msgs/Pose\n\
00548 # A representation of pose in free space, composed of postion and orientation. \n\
00549 Point position\n\
00550 Quaternion orientation\n\
00551 \n\
00552 ================================================================================\n\
00553 MSG: geometry_msgs/Point\n\
00554 # This contains the position of a point in free space\n\
00555 float64 x\n\
00556 float64 y\n\
00557 float64 z\n\
00558 \n\
00559 ================================================================================\n\
00560 MSG: geometry_msgs/Quaternion\n\
00561 # This represents an orientation in free space in quaternion form.\n\
00562 \n\
00563 float64 x\n\
00564 float64 y\n\
00565 float64 z\n\
00566 float64 w\n\
00567 \n\
00568 ================================================================================\n\
00569 MSG: geometry_msgs/PointStamped\n\
00570 # This represents a Point with reference coordinate frame and timestamp\n\
00571 Header header\n\
00572 Point point\n\
00573 \n\
00574 ================================================================================\n\
00575 MSG: geometry_msgs/Vector3Stamped\n\
00576 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00577 Header header\n\
00578 Vector3 vector\n\
00579 \n\
00580 ================================================================================\n\
00581 MSG: geometry_msgs/Vector3\n\
00582 # This represents a vector in free space. \n\
00583 \n\
00584 float64 x\n\
00585 float64 y\n\
00586 float64 z\n\
00587 ================================================================================\n\
00588 MSG: geometry_msgs/Point32\n\
00589 # This contains the position of a point in free space(with 32 bits of precision).\n\
00590 # It is recommeded to use Point wherever possible instead of Point32. \n\
00591 # \n\
00592 # This recommendation is to promote interoperability. \n\
00593 #\n\
00594 # This message is designed to take up less space when sending\n\
00595 # lots of points at once, as in the case of a PointCloud. \n\
00596 \n\
00597 float32 x\n\
00598 float32 y\n\
00599 float32 z\n\
00600 ";
00601 }
00602
00603 static const char* value(const ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> &) { return value(); }
00604 };
00605
00606 }
00607 }
00608
00609 namespace ros
00610 {
00611 namespace serialization
00612 {
00613
00614 template<class ContainerAllocator> struct Serializer< ::fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> >
00615 {
00616 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00617 {
00618 stream.next(m.point);
00619 stream.next(m.width);
00620 stream.next(m.height);
00621 }
00622
00623 ROS_DECLARE_ALLINONE_SERIALIZER;
00624 };
00625 }
00626 }
00627
00628
00629 namespace ros
00630 {
00631 namespace serialization
00632 {
00633
00634 template<class ContainerAllocator> struct Serializer< ::fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> >
00635 {
00636 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00637 {
00638 stream.next(m.plane);
00639 }
00640
00641 ROS_DECLARE_ALLINONE_SERIALIZER;
00642 };
00643 }
00644 }
00645
00646 namespace ros
00647 {
00648 namespace service_traits
00649 {
00650 template<>
00651 struct MD5Sum<fast_plane_detection::PlaneInRegion> {
00652 static const char* value()
00653 {
00654 return "226b53e3d5df28a414da0d1d86fc1e00";
00655 }
00656
00657 static const char* value(const fast_plane_detection::PlaneInRegion&) { return value(); }
00658 };
00659
00660 template<>
00661 struct DataType<fast_plane_detection::PlaneInRegion> {
00662 static const char* value()
00663 {
00664 return "fast_plane_detection/PlaneInRegion";
00665 }
00666
00667 static const char* value(const fast_plane_detection::PlaneInRegion&) { return value(); }
00668 };
00669
00670 template<class ContainerAllocator>
00671 struct MD5Sum<fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > {
00672 static const char* value()
00673 {
00674 return "226b53e3d5df28a414da0d1d86fc1e00";
00675 }
00676
00677 static const char* value(const fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> &) { return value(); }
00678 };
00679
00680 template<class ContainerAllocator>
00681 struct DataType<fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> > {
00682 static const char* value()
00683 {
00684 return "fast_plane_detection/PlaneInRegion";
00685 }
00686
00687 static const char* value(const fast_plane_detection::PlaneInRegionRequest_<ContainerAllocator> &) { return value(); }
00688 };
00689
00690 template<class ContainerAllocator>
00691 struct MD5Sum<fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > {
00692 static const char* value()
00693 {
00694 return "226b53e3d5df28a414da0d1d86fc1e00";
00695 }
00696
00697 static const char* value(const fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> &) { return value(); }
00698 };
00699
00700 template<class ContainerAllocator>
00701 struct DataType<fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> > {
00702 static const char* value()
00703 {
00704 return "fast_plane_detection/PlaneInRegion";
00705 }
00706
00707 static const char* value(const fast_plane_detection::PlaneInRegionResponse_<ContainerAllocator> &) { return value(); }
00708 };
00709
00710 }
00711 }
00712
00713 #endif // FAST_PLANE_DETECTION_SERVICE_PLANEINREGION_H
00714