ExtractTwoLeavesRoi.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-fuerte-all-iri-ros.pub/doc_stacks/2013-12-06_19-37-16.229269/zyonz_robot/zyonz_obtain_roi_jump_edge_based/srv/ExtractTwoLeavesRoi.srv */
00002 #ifndef ZYONZ_OBTAIN_ROI_JUMP_EDGE_BASED_SERVICE_EXTRACTTWOLEAVESROI_H
00003 #define ZYONZ_OBTAIN_ROI_JUMP_EDGE_BASED_SERVICE_EXTRACTTWOLEAVESROI_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 "sensor_msgs/Image.h"
00020 #include "sensor_msgs/Image.h"
00021 #include "sensor_msgs/Image.h"
00022 #include "sensor_msgs/PointCloud2.h"
00023 
00024 
00025 #include "sensor_msgs/PointCloud2.h"
00026 #include "sensor_msgs/Image.h"
00027 #include "geometry_msgs/PoseStamped.h"
00028 #include "geometry_msgs/PoseStamped.h"
00029 
00030 namespace zyonz_obtain_roi_jump_edge_based
00031 {
00032 template <class ContainerAllocator>
00033 struct ExtractTwoLeavesRoiRequest_ {
00034   typedef ExtractTwoLeavesRoiRequest_<ContainerAllocator> Type;
00035 
00036   ExtractTwoLeavesRoiRequest_()
00037   : cluster_a_img()
00038   , cluster_b_img()
00039   , residual_img()
00040   , residual_pc()
00041   {
00042   }
00043 
00044   ExtractTwoLeavesRoiRequest_(const ContainerAllocator& _alloc)
00045   : cluster_a_img(_alloc)
00046   , cluster_b_img(_alloc)
00047   , residual_img(_alloc)
00048   , residual_pc(_alloc)
00049   {
00050   }
00051 
00052   typedef  ::sensor_msgs::Image_<ContainerAllocator>  _cluster_a_img_type;
00053    ::sensor_msgs::Image_<ContainerAllocator>  cluster_a_img;
00054 
00055   typedef  ::sensor_msgs::Image_<ContainerAllocator>  _cluster_b_img_type;
00056    ::sensor_msgs::Image_<ContainerAllocator>  cluster_b_img;
00057 
00058   typedef  ::sensor_msgs::Image_<ContainerAllocator>  _residual_img_type;
00059    ::sensor_msgs::Image_<ContainerAllocator>  residual_img;
00060 
00061   typedef  ::sensor_msgs::PointCloud2_<ContainerAllocator>  _residual_pc_type;
00062    ::sensor_msgs::PointCloud2_<ContainerAllocator>  residual_pc;
00063 
00064 
00065   typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > Ptr;
00066   typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator>  const> ConstPtr;
00067   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00068 }; // struct ExtractTwoLeavesRoiRequest
00069 typedef  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<std::allocator<void> > ExtractTwoLeavesRoiRequest;
00070 
00071 typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest> ExtractTwoLeavesRoiRequestPtr;
00072 typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest const> ExtractTwoLeavesRoiRequestConstPtr;
00073 
00074 
00075 template <class ContainerAllocator>
00076 struct ExtractTwoLeavesRoiResponse_ {
00077   typedef ExtractTwoLeavesRoiResponse_<ContainerAllocator> Type;
00078 
00079   ExtractTwoLeavesRoiResponse_()
00080   : roi_pc()
00081   , roi_img()
00082   , roi_pose()
00083   , viewpoint_pose()
00084   {
00085   }
00086 
00087   ExtractTwoLeavesRoiResponse_(const ContainerAllocator& _alloc)
00088   : roi_pc(_alloc)
00089   , roi_img(_alloc)
00090   , roi_pose(_alloc)
00091   , viewpoint_pose(_alloc)
00092   {
00093   }
00094 
00095   typedef  ::sensor_msgs::PointCloud2_<ContainerAllocator>  _roi_pc_type;
00096    ::sensor_msgs::PointCloud2_<ContainerAllocator>  roi_pc;
00097 
00098   typedef  ::sensor_msgs::Image_<ContainerAllocator>  _roi_img_type;
00099    ::sensor_msgs::Image_<ContainerAllocator>  roi_img;
00100 
00101   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _roi_pose_type;
00102    ::geometry_msgs::PoseStamped_<ContainerAllocator>  roi_pose;
00103 
00104   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _viewpoint_pose_type;
00105    ::geometry_msgs::PoseStamped_<ContainerAllocator>  viewpoint_pose;
00106 
00107 
00108   typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > Ptr;
00109   typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator>  const> ConstPtr;
00110   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00111 }; // struct ExtractTwoLeavesRoiResponse
00112 typedef  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<std::allocator<void> > ExtractTwoLeavesRoiResponse;
00113 
00114 typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse> ExtractTwoLeavesRoiResponsePtr;
00115 typedef boost::shared_ptr< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse const> ExtractTwoLeavesRoiResponseConstPtr;
00116 
00117 struct ExtractTwoLeavesRoi
00118 {
00119 
00120 typedef ExtractTwoLeavesRoiRequest Request;
00121 typedef ExtractTwoLeavesRoiResponse Response;
00122 Request request;
00123 Response response;
00124 
00125 typedef Request RequestType;
00126 typedef Response ResponseType;
00127 }; // struct ExtractTwoLeavesRoi
00128 } // namespace zyonz_obtain_roi_jump_edge_based
00129 
00130 namespace ros
00131 {
00132 namespace message_traits
00133 {
00134 template<class ContainerAllocator> struct IsMessage< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > : public TrueType {};
00135 template<class ContainerAllocator> struct IsMessage< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator>  const> : public TrueType {};
00136 template<class ContainerAllocator>
00137 struct MD5Sum< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > {
00138   static const char* value() 
00139   {
00140     return "9d1fa894fa9d6a4cd9c06f0055af0613";
00141   }
00142 
00143   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> &) { return value(); } 
00144   static const uint64_t static_value1 = 0x9d1fa894fa9d6a4cULL;
00145   static const uint64_t static_value2 = 0xd9c06f0055af0613ULL;
00146 };
00147 
00148 template<class ContainerAllocator>
00149 struct DataType< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > {
00150   static const char* value() 
00151   {
00152     return "zyonz_obtain_roi_jump_edge_based/ExtractTwoLeavesRoiRequest";
00153   }
00154 
00155   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> &) { return value(); } 
00156 };
00157 
00158 template<class ContainerAllocator>
00159 struct Definition< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > {
00160   static const char* value() 
00161   {
00162     return "\n\
00163 sensor_msgs/Image       cluster_a_img\n\
00164 sensor_msgs/Image       cluster_b_img\n\
00165 sensor_msgs/Image       residual_img\n\
00166 sensor_msgs/PointCloud2 residual_pc\n\
00167 \n\
00168 ================================================================================\n\
00169 MSG: sensor_msgs/Image\n\
00170 # This message contains an uncompressed image\n\
00171 # (0, 0) is at top-left corner of image\n\
00172 #\n\
00173 \n\
00174 Header header        # Header timestamp should be acquisition time of image\n\
00175                      # Header frame_id should be optical frame of camera\n\
00176                      # origin of frame should be optical center of cameara\n\
00177                      # +x should point to the right in the image\n\
00178                      # +y should point down in the image\n\
00179                      # +z should point into to plane of the image\n\
00180                      # If the frame_id here and the frame_id of the CameraInfo\n\
00181                      # message associated with the image conflict\n\
00182                      # the behavior is undefined\n\
00183 \n\
00184 uint32 height         # image height, that is, number of rows\n\
00185 uint32 width          # image width, that is, number of columns\n\
00186 \n\
00187 # The legal values for encoding are in file src/image_encodings.cpp\n\
00188 # If you want to standardize a new string format, join\n\
00189 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00190 \n\
00191 string encoding       # Encoding of pixels -- channel meaning, ordering, size\n\
00192                       # taken from the list of strings in src/image_encodings.cpp\n\
00193 \n\
00194 uint8 is_bigendian    # is this data bigendian?\n\
00195 uint32 step           # Full row length in bytes\n\
00196 uint8[] data          # actual matrix data, size is (step * rows)\n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: std_msgs/Header\n\
00200 # Standard metadata for higher-level stamped data types.\n\
00201 # This is generally used to communicate timestamped data \n\
00202 # in a particular coordinate frame.\n\
00203 # \n\
00204 # sequence ID: consecutively increasing ID \n\
00205 uint32 seq\n\
00206 #Two-integer timestamp that is expressed as:\n\
00207 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00208 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00209 # time-handling sugar is provided by the client library\n\
00210 time stamp\n\
00211 #Frame this data is associated with\n\
00212 # 0: no frame\n\
00213 # 1: global frame\n\
00214 string frame_id\n\
00215 \n\
00216 ================================================================================\n\
00217 MSG: sensor_msgs/PointCloud2\n\
00218 # This message holds a collection of N-dimensional points, which may\n\
00219 # contain additional information such as normals, intensity, etc. The\n\
00220 # point data is stored as a binary blob, its layout described by the\n\
00221 # contents of the \"fields\" array.\n\
00222 \n\
00223 # The point cloud data may be organized 2d (image-like) or 1d\n\
00224 # (unordered). Point clouds organized as 2d images may be produced by\n\
00225 # camera depth sensors such as stereo or time-of-flight.\n\
00226 \n\
00227 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00228 # points).\n\
00229 Header header\n\
00230 \n\
00231 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00232 # 1 and width is the length of the point cloud.\n\
00233 uint32 height\n\
00234 uint32 width\n\
00235 \n\
00236 # Describes the channels and their layout in the binary data blob.\n\
00237 PointField[] fields\n\
00238 \n\
00239 bool    is_bigendian # Is this data bigendian?\n\
00240 uint32  point_step   # Length of a point in bytes\n\
00241 uint32  row_step     # Length of a row in bytes\n\
00242 uint8[] data         # Actual point data, size is (row_step*height)\n\
00243 \n\
00244 bool is_dense        # True if there are no invalid points\n\
00245 \n\
00246 ================================================================================\n\
00247 MSG: sensor_msgs/PointField\n\
00248 # This message holds the description of one point entry in the\n\
00249 # PointCloud2 message format.\n\
00250 uint8 INT8    = 1\n\
00251 uint8 UINT8   = 2\n\
00252 uint8 INT16   = 3\n\
00253 uint8 UINT16  = 4\n\
00254 uint8 INT32   = 5\n\
00255 uint8 UINT32  = 6\n\
00256 uint8 FLOAT32 = 7\n\
00257 uint8 FLOAT64 = 8\n\
00258 \n\
00259 string name      # Name of field\n\
00260 uint32 offset    # Offset from start of point struct\n\
00261 uint8  datatype  # Datatype enumeration, see above\n\
00262 uint32 count     # How many elements in the field\n\
00263 \n\
00264 ";
00265   }
00266 
00267   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> &) { return value(); } 
00268 };
00269 
00270 } // namespace message_traits
00271 } // namespace ros
00272 
00273 
00274 namespace ros
00275 {
00276 namespace message_traits
00277 {
00278 template<class ContainerAllocator> struct IsMessage< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > : public TrueType {};
00279 template<class ContainerAllocator> struct IsMessage< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator>  const> : public TrueType {};
00280 template<class ContainerAllocator>
00281 struct MD5Sum< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > {
00282   static const char* value() 
00283   {
00284     return "b47b7ae7bad2bb30c58b377d3daae68c";
00285   }
00286 
00287   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> &) { return value(); } 
00288   static const uint64_t static_value1 = 0xb47b7ae7bad2bb30ULL;
00289   static const uint64_t static_value2 = 0xc58b377d3daae68cULL;
00290 };
00291 
00292 template<class ContainerAllocator>
00293 struct DataType< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > {
00294   static const char* value() 
00295   {
00296     return "zyonz_obtain_roi_jump_edge_based/ExtractTwoLeavesRoiResponse";
00297   }
00298 
00299   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> &) { return value(); } 
00300 };
00301 
00302 template<class ContainerAllocator>
00303 struct Definition< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > {
00304   static const char* value() 
00305   {
00306     return "\n\
00307 sensor_msgs/PointCloud2   roi_pc\n\
00308 sensor_msgs/Image         roi_img\n\
00309 geometry_msgs/PoseStamped roi_pose\n\
00310 geometry_msgs/PoseStamped viewpoint_pose\n\
00311 \n\
00312 \n\
00313 ================================================================================\n\
00314 MSG: sensor_msgs/PointCloud2\n\
00315 # This message holds a collection of N-dimensional points, which may\n\
00316 # contain additional information such as normals, intensity, etc. The\n\
00317 # point data is stored as a binary blob, its layout described by the\n\
00318 # contents of the \"fields\" array.\n\
00319 \n\
00320 # The point cloud data may be organized 2d (image-like) or 1d\n\
00321 # (unordered). Point clouds organized as 2d images may be produced by\n\
00322 # camera depth sensors such as stereo or time-of-flight.\n\
00323 \n\
00324 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00325 # points).\n\
00326 Header header\n\
00327 \n\
00328 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00329 # 1 and width is the length of the point cloud.\n\
00330 uint32 height\n\
00331 uint32 width\n\
00332 \n\
00333 # Describes the channels and their layout in the binary data blob.\n\
00334 PointField[] fields\n\
00335 \n\
00336 bool    is_bigendian # Is this data bigendian?\n\
00337 uint32  point_step   # Length of a point in bytes\n\
00338 uint32  row_step     # Length of a row in bytes\n\
00339 uint8[] data         # Actual point data, size is (row_step*height)\n\
00340 \n\
00341 bool is_dense        # True if there are no invalid points\n\
00342 \n\
00343 ================================================================================\n\
00344 MSG: std_msgs/Header\n\
00345 # Standard metadata for higher-level stamped data types.\n\
00346 # This is generally used to communicate timestamped data \n\
00347 # in a particular coordinate frame.\n\
00348 # \n\
00349 # sequence ID: consecutively increasing ID \n\
00350 uint32 seq\n\
00351 #Two-integer timestamp that is expressed as:\n\
00352 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00353 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00354 # time-handling sugar is provided by the client library\n\
00355 time stamp\n\
00356 #Frame this data is associated with\n\
00357 # 0: no frame\n\
00358 # 1: global frame\n\
00359 string frame_id\n\
00360 \n\
00361 ================================================================================\n\
00362 MSG: sensor_msgs/PointField\n\
00363 # This message holds the description of one point entry in the\n\
00364 # PointCloud2 message format.\n\
00365 uint8 INT8    = 1\n\
00366 uint8 UINT8   = 2\n\
00367 uint8 INT16   = 3\n\
00368 uint8 UINT16  = 4\n\
00369 uint8 INT32   = 5\n\
00370 uint8 UINT32  = 6\n\
00371 uint8 FLOAT32 = 7\n\
00372 uint8 FLOAT64 = 8\n\
00373 \n\
00374 string name      # Name of field\n\
00375 uint32 offset    # Offset from start of point struct\n\
00376 uint8  datatype  # Datatype enumeration, see above\n\
00377 uint32 count     # How many elements in the field\n\
00378 \n\
00379 ================================================================================\n\
00380 MSG: sensor_msgs/Image\n\
00381 # This message contains an uncompressed image\n\
00382 # (0, 0) is at top-left corner of image\n\
00383 #\n\
00384 \n\
00385 Header header        # Header timestamp should be acquisition time of image\n\
00386                      # Header frame_id should be optical frame of camera\n\
00387                      # origin of frame should be optical center of cameara\n\
00388                      # +x should point to the right in the image\n\
00389                      # +y should point down in the image\n\
00390                      # +z should point into to plane of the image\n\
00391                      # If the frame_id here and the frame_id of the CameraInfo\n\
00392                      # message associated with the image conflict\n\
00393                      # the behavior is undefined\n\
00394 \n\
00395 uint32 height         # image height, that is, number of rows\n\
00396 uint32 width          # image width, that is, number of columns\n\
00397 \n\
00398 # The legal values for encoding are in file src/image_encodings.cpp\n\
00399 # If you want to standardize a new string format, join\n\
00400 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00401 \n\
00402 string encoding       # Encoding of pixels -- channel meaning, ordering, size\n\
00403                       # taken from the list of strings in src/image_encodings.cpp\n\
00404 \n\
00405 uint8 is_bigendian    # is this data bigendian?\n\
00406 uint32 step           # Full row length in bytes\n\
00407 uint8[] data          # actual matrix data, size is (step * rows)\n\
00408 \n\
00409 ================================================================================\n\
00410 MSG: geometry_msgs/PoseStamped\n\
00411 # A Pose with reference coordinate frame and timestamp\n\
00412 Header header\n\
00413 Pose pose\n\
00414 \n\
00415 ================================================================================\n\
00416 MSG: geometry_msgs/Pose\n\
00417 # A representation of pose in free space, composed of postion and orientation. \n\
00418 Point position\n\
00419 Quaternion orientation\n\
00420 \n\
00421 ================================================================================\n\
00422 MSG: geometry_msgs/Point\n\
00423 # This contains the position of a point in free space\n\
00424 float64 x\n\
00425 float64 y\n\
00426 float64 z\n\
00427 \n\
00428 ================================================================================\n\
00429 MSG: geometry_msgs/Quaternion\n\
00430 # This represents an orientation in free space in quaternion form.\n\
00431 \n\
00432 float64 x\n\
00433 float64 y\n\
00434 float64 z\n\
00435 float64 w\n\
00436 \n\
00437 ";
00438   }
00439 
00440   static const char* value(const  ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> &) { return value(); } 
00441 };
00442 
00443 } // namespace message_traits
00444 } // namespace ros
00445 
00446 namespace ros
00447 {
00448 namespace serialization
00449 {
00450 
00451 template<class ContainerAllocator> struct Serializer< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> >
00452 {
00453   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00454   {
00455     stream.next(m.cluster_a_img);
00456     stream.next(m.cluster_b_img);
00457     stream.next(m.residual_img);
00458     stream.next(m.residual_pc);
00459   }
00460 
00461   ROS_DECLARE_ALLINONE_SERIALIZER;
00462 }; // struct ExtractTwoLeavesRoiRequest_
00463 } // namespace serialization
00464 } // namespace ros
00465 
00466 
00467 namespace ros
00468 {
00469 namespace serialization
00470 {
00471 
00472 template<class ContainerAllocator> struct Serializer< ::zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> >
00473 {
00474   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00475   {
00476     stream.next(m.roi_pc);
00477     stream.next(m.roi_img);
00478     stream.next(m.roi_pose);
00479     stream.next(m.viewpoint_pose);
00480   }
00481 
00482   ROS_DECLARE_ALLINONE_SERIALIZER;
00483 }; // struct ExtractTwoLeavesRoiResponse_
00484 } // namespace serialization
00485 } // namespace ros
00486 
00487 namespace ros
00488 {
00489 namespace service_traits
00490 {
00491 template<>
00492 struct MD5Sum<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoi> {
00493   static const char* value() 
00494   {
00495     return "17cd0e235cf2a2a2082aefd69aa6fa7d";
00496   }
00497 
00498   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoi&) { return value(); } 
00499 };
00500 
00501 template<>
00502 struct DataType<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoi> {
00503   static const char* value() 
00504   {
00505     return "zyonz_obtain_roi_jump_edge_based/ExtractTwoLeavesRoi";
00506   }
00507 
00508   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoi&) { return value(); } 
00509 };
00510 
00511 template<class ContainerAllocator>
00512 struct MD5Sum<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > {
00513   static const char* value() 
00514   {
00515     return "17cd0e235cf2a2a2082aefd69aa6fa7d";
00516   }
00517 
00518   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> &) { return value(); } 
00519 };
00520 
00521 template<class ContainerAllocator>
00522 struct DataType<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> > {
00523   static const char* value() 
00524   {
00525     return "zyonz_obtain_roi_jump_edge_based/ExtractTwoLeavesRoi";
00526   }
00527 
00528   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiRequest_<ContainerAllocator> &) { return value(); } 
00529 };
00530 
00531 template<class ContainerAllocator>
00532 struct MD5Sum<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > {
00533   static const char* value() 
00534   {
00535     return "17cd0e235cf2a2a2082aefd69aa6fa7d";
00536   }
00537 
00538   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> &) { return value(); } 
00539 };
00540 
00541 template<class ContainerAllocator>
00542 struct DataType<zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> > {
00543   static const char* value() 
00544   {
00545     return "zyonz_obtain_roi_jump_edge_based/ExtractTwoLeavesRoi";
00546   }
00547 
00548   static const char* value(const zyonz_obtain_roi_jump_edge_based::ExtractTwoLeavesRoiResponse_<ContainerAllocator> &) { return value(); } 
00549 };
00550 
00551 } // namespace service_traits
00552 } // namespace ros
00553 
00554 #endif // ZYONZ_OBTAIN_ROI_JUMP_EDGE_BASED_SERVICE_EXTRACTTWOLEAVESROI_H
00555 


zyonz_obtain_roi_jump_edge_based
Author(s): sfoix
autogenerated on Fri Dec 6 2013 19:57:40