$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-bosch_manipulation_utils/doc_stacks/2013-03-04_11-05-22.932278/bosch_manipulation_utils/pr2_interactive_segmentation/srv/cornerFind.srv */ 00002 #ifndef PR2_INTERACTIVE_SEGMENTATION_SERVICE_CORNERFIND_H 00003 #define PR2_INTERACTIVE_SEGMENTATION_SERVICE_CORNERFIND_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 00021 00022 #include "geometry_msgs/Point.h" 00023 #include "geometry_msgs/Point32.h" 00024 #include "geometry_msgs/Point.h" 00025 #include "geometry_msgs/Point32.h" 00026 00027 namespace pr2_interactive_segmentation 00028 { 00029 template <class ContainerAllocator> 00030 struct cornerFindRequest_ { 00031 typedef cornerFindRequest_<ContainerAllocator> Type; 00032 00033 cornerFindRequest_() 00034 : image() 00035 { 00036 } 00037 00038 cornerFindRequest_(const ContainerAllocator& _alloc) 00039 : image(_alloc) 00040 { 00041 } 00042 00043 typedef ::sensor_msgs::Image_<ContainerAllocator> _image_type; 00044 ::sensor_msgs::Image_<ContainerAllocator> image; 00045 00046 00047 private: 00048 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/cornerFindRequest"; } 00049 public: 00050 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00051 00052 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00053 00054 private: 00055 static const char* __s_getMD5Sum_() { return "b13d2865c5af2a64e6e30ab1b56e1dd5"; } 00056 public: 00057 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00058 00059 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00060 00061 private: 00062 static const char* __s_getServerMD5Sum_() { return "ac8d58fdb334d1d395d0c60410ea3eb1"; } 00063 public: 00064 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00065 00066 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00067 00068 private: 00069 static const char* __s_getMessageDefinition_() { return "sensor_msgs/Image image\n\ 00070 \n\ 00071 ================================================================================\n\ 00072 MSG: sensor_msgs/Image\n\ 00073 # This message contains an uncompressed image\n\ 00074 # (0, 0) is at top-left corner of image\n\ 00075 #\n\ 00076 \n\ 00077 Header header # Header timestamp should be acquisition time of image\n\ 00078 # Header frame_id should be optical frame of camera\n\ 00079 # origin of frame should be optical center of cameara\n\ 00080 # +x should point to the right in the image\n\ 00081 # +y should point down in the image\n\ 00082 # +z should point into to plane of the image\n\ 00083 # If the frame_id here and the frame_id of the CameraInfo\n\ 00084 # message associated with the image conflict\n\ 00085 # the behavior is undefined\n\ 00086 \n\ 00087 uint32 height # image height, that is, number of rows\n\ 00088 uint32 width # image width, that is, number of columns\n\ 00089 \n\ 00090 # The legal values for encoding are in file src/image_encodings.cpp\n\ 00091 # If you want to standardize a new string format, join\n\ 00092 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\ 00093 \n\ 00094 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\ 00095 # taken from the list of strings in src/image_encodings.cpp\n\ 00096 \n\ 00097 uint8 is_bigendian # is this data bigendian?\n\ 00098 uint32 step # Full row length in bytes\n\ 00099 uint8[] data # actual matrix data, size is (step * rows)\n\ 00100 \n\ 00101 ================================================================================\n\ 00102 MSG: std_msgs/Header\n\ 00103 # Standard metadata for higher-level stamped data types.\n\ 00104 # This is generally used to communicate timestamped data \n\ 00105 # in a particular coordinate frame.\n\ 00106 # \n\ 00107 # sequence ID: consecutively increasing ID \n\ 00108 uint32 seq\n\ 00109 #Two-integer timestamp that is expressed as:\n\ 00110 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00111 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00112 # time-handling sugar is provided by the client library\n\ 00113 time stamp\n\ 00114 #Frame this data is associated with\n\ 00115 # 0: no frame\n\ 00116 # 1: global frame\n\ 00117 string frame_id\n\ 00118 \n\ 00119 "; } 00120 public: 00121 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00122 00123 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00124 00125 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00126 { 00127 ros::serialization::OStream stream(write_ptr, 1000000000); 00128 ros::serialization::serialize(stream, image); 00129 return stream.getData(); 00130 } 00131 00132 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00133 { 00134 ros::serialization::IStream stream(read_ptr, 1000000000); 00135 ros::serialization::deserialize(stream, image); 00136 return stream.getData(); 00137 } 00138 00139 ROS_DEPRECATED virtual uint32_t serializationLength() const 00140 { 00141 uint32_t size = 0; 00142 size += ros::serialization::serializationLength(image); 00143 return size; 00144 } 00145 00146 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > Ptr; 00147 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> const> ConstPtr; 00148 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00149 }; // struct cornerFindRequest 00150 typedef ::pr2_interactive_segmentation::cornerFindRequest_<std::allocator<void> > cornerFindRequest; 00151 00152 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindRequest> cornerFindRequestPtr; 00153 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindRequest const> cornerFindRequestConstPtr; 00154 00155 00156 template <class ContainerAllocator> 00157 struct cornerFindResponse_ { 00158 typedef cornerFindResponse_<ContainerAllocator> Type; 00159 00160 cornerFindResponse_() 00161 : corner() 00162 , push_direction() 00163 , corner_convex() 00164 , push_direction_convex() 00165 { 00166 } 00167 00168 cornerFindResponse_(const ContainerAllocator& _alloc) 00169 : corner(_alloc) 00170 , push_direction(_alloc) 00171 , corner_convex(_alloc) 00172 , push_direction_convex(_alloc) 00173 { 00174 } 00175 00176 typedef std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > _corner_type; 00177 std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > corner; 00178 00179 typedef std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > _push_direction_type; 00180 std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > push_direction; 00181 00182 typedef std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > _corner_convex_type; 00183 std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > corner_convex; 00184 00185 typedef std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > _push_direction_convex_type; 00186 std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > push_direction_convex; 00187 00188 00189 ROS_DEPRECATED uint32_t get_corner_size() const { return (uint32_t)corner.size(); } 00190 ROS_DEPRECATED void set_corner_size(uint32_t size) { corner.resize((size_t)size); } 00191 ROS_DEPRECATED void get_corner_vec(std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) const { vec = this->corner; } 00192 ROS_DEPRECATED void set_corner_vec(const std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) { this->corner = vec; } 00193 ROS_DEPRECATED uint32_t get_push_direction_size() const { return (uint32_t)push_direction.size(); } 00194 ROS_DEPRECATED void set_push_direction_size(uint32_t size) { push_direction.resize((size_t)size); } 00195 ROS_DEPRECATED void get_push_direction_vec(std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > & vec) const { vec = this->push_direction; } 00196 ROS_DEPRECATED void set_push_direction_vec(const std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > & vec) { this->push_direction = vec; } 00197 ROS_DEPRECATED uint32_t get_corner_convex_size() const { return (uint32_t)corner_convex.size(); } 00198 ROS_DEPRECATED void set_corner_convex_size(uint32_t size) { corner_convex.resize((size_t)size); } 00199 ROS_DEPRECATED void get_corner_convex_vec(std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) const { vec = this->corner_convex; } 00200 ROS_DEPRECATED void set_corner_convex_vec(const std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) { this->corner_convex = vec; } 00201 ROS_DEPRECATED uint32_t get_push_direction_convex_size() const { return (uint32_t)push_direction_convex.size(); } 00202 ROS_DEPRECATED void set_push_direction_convex_size(uint32_t size) { push_direction_convex.resize((size_t)size); } 00203 ROS_DEPRECATED void get_push_direction_convex_vec(std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > & vec) const { vec = this->push_direction_convex; } 00204 ROS_DEPRECATED void set_push_direction_convex_vec(const std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > & vec) { this->push_direction_convex = vec; } 00205 private: 00206 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/cornerFindResponse"; } 00207 public: 00208 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00209 00210 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00211 00212 private: 00213 static const char* __s_getMD5Sum_() { return "4b09fc7def371137a597cd91369399bc"; } 00214 public: 00215 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00216 00217 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00218 00219 private: 00220 static const char* __s_getServerMD5Sum_() { return "ac8d58fdb334d1d395d0c60410ea3eb1"; } 00221 public: 00222 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00223 00224 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00225 00226 private: 00227 static const char* __s_getMessageDefinition_() { return "geometry_msgs/Point[] corner\n\ 00228 geometry_msgs/Point32[] push_direction\n\ 00229 geometry_msgs/Point[] corner_convex\n\ 00230 geometry_msgs/Point32[] push_direction_convex\n\ 00231 \n\ 00232 \n\ 00233 ================================================================================\n\ 00234 MSG: geometry_msgs/Point\n\ 00235 # This contains the position of a point in free space\n\ 00236 float64 x\n\ 00237 float64 y\n\ 00238 float64 z\n\ 00239 \n\ 00240 ================================================================================\n\ 00241 MSG: geometry_msgs/Point32\n\ 00242 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00243 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00244 # \n\ 00245 # This recommendation is to promote interoperability. \n\ 00246 #\n\ 00247 # This message is designed to take up less space when sending\n\ 00248 # lots of points at once, as in the case of a PointCloud. \n\ 00249 \n\ 00250 float32 x\n\ 00251 float32 y\n\ 00252 float32 z\n\ 00253 "; } 00254 public: 00255 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00256 00257 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00258 00259 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00260 { 00261 ros::serialization::OStream stream(write_ptr, 1000000000); 00262 ros::serialization::serialize(stream, corner); 00263 ros::serialization::serialize(stream, push_direction); 00264 ros::serialization::serialize(stream, corner_convex); 00265 ros::serialization::serialize(stream, push_direction_convex); 00266 return stream.getData(); 00267 } 00268 00269 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00270 { 00271 ros::serialization::IStream stream(read_ptr, 1000000000); 00272 ros::serialization::deserialize(stream, corner); 00273 ros::serialization::deserialize(stream, push_direction); 00274 ros::serialization::deserialize(stream, corner_convex); 00275 ros::serialization::deserialize(stream, push_direction_convex); 00276 return stream.getData(); 00277 } 00278 00279 ROS_DEPRECATED virtual uint32_t serializationLength() const 00280 { 00281 uint32_t size = 0; 00282 size += ros::serialization::serializationLength(corner); 00283 size += ros::serialization::serializationLength(push_direction); 00284 size += ros::serialization::serializationLength(corner_convex); 00285 size += ros::serialization::serializationLength(push_direction_convex); 00286 return size; 00287 } 00288 00289 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > Ptr; 00290 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> const> ConstPtr; 00291 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00292 }; // struct cornerFindResponse 00293 typedef ::pr2_interactive_segmentation::cornerFindResponse_<std::allocator<void> > cornerFindResponse; 00294 00295 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindResponse> cornerFindResponsePtr; 00296 typedef boost::shared_ptr< ::pr2_interactive_segmentation::cornerFindResponse const> cornerFindResponseConstPtr; 00297 00298 struct cornerFind 00299 { 00300 00301 typedef cornerFindRequest Request; 00302 typedef cornerFindResponse Response; 00303 Request request; 00304 Response response; 00305 00306 typedef Request RequestType; 00307 typedef Response ResponseType; 00308 }; // struct cornerFind 00309 } // namespace pr2_interactive_segmentation 00310 00311 namespace ros 00312 { 00313 namespace message_traits 00314 { 00315 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > : public TrueType {}; 00316 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> const> : public TrueType {}; 00317 template<class ContainerAllocator> 00318 struct MD5Sum< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > { 00319 static const char* value() 00320 { 00321 return "b13d2865c5af2a64e6e30ab1b56e1dd5"; 00322 } 00323 00324 static const char* value(const ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> &) { return value(); } 00325 static const uint64_t static_value1 = 0xb13d2865c5af2a64ULL; 00326 static const uint64_t static_value2 = 0xe6e30ab1b56e1dd5ULL; 00327 }; 00328 00329 template<class ContainerAllocator> 00330 struct DataType< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > { 00331 static const char* value() 00332 { 00333 return "pr2_interactive_segmentation/cornerFindRequest"; 00334 } 00335 00336 static const char* value(const ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> &) { return value(); } 00337 }; 00338 00339 template<class ContainerAllocator> 00340 struct Definition< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > { 00341 static const char* value() 00342 { 00343 return "sensor_msgs/Image image\n\ 00344 \n\ 00345 ================================================================================\n\ 00346 MSG: sensor_msgs/Image\n\ 00347 # This message contains an uncompressed image\n\ 00348 # (0, 0) is at top-left corner of image\n\ 00349 #\n\ 00350 \n\ 00351 Header header # Header timestamp should be acquisition time of image\n\ 00352 # Header frame_id should be optical frame of camera\n\ 00353 # origin of frame should be optical center of cameara\n\ 00354 # +x should point to the right in the image\n\ 00355 # +y should point down in the image\n\ 00356 # +z should point into to plane of the image\n\ 00357 # If the frame_id here and the frame_id of the CameraInfo\n\ 00358 # message associated with the image conflict\n\ 00359 # the behavior is undefined\n\ 00360 \n\ 00361 uint32 height # image height, that is, number of rows\n\ 00362 uint32 width # image width, that is, number of columns\n\ 00363 \n\ 00364 # The legal values for encoding are in file src/image_encodings.cpp\n\ 00365 # If you want to standardize a new string format, join\n\ 00366 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\ 00367 \n\ 00368 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\ 00369 # taken from the list of strings in src/image_encodings.cpp\n\ 00370 \n\ 00371 uint8 is_bigendian # is this data bigendian?\n\ 00372 uint32 step # Full row length in bytes\n\ 00373 uint8[] data # actual matrix data, size is (step * rows)\n\ 00374 \n\ 00375 ================================================================================\n\ 00376 MSG: std_msgs/Header\n\ 00377 # Standard metadata for higher-level stamped data types.\n\ 00378 # This is generally used to communicate timestamped data \n\ 00379 # in a particular coordinate frame.\n\ 00380 # \n\ 00381 # sequence ID: consecutively increasing ID \n\ 00382 uint32 seq\n\ 00383 #Two-integer timestamp that is expressed as:\n\ 00384 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00385 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00386 # time-handling sugar is provided by the client library\n\ 00387 time stamp\n\ 00388 #Frame this data is associated with\n\ 00389 # 0: no frame\n\ 00390 # 1: global frame\n\ 00391 string frame_id\n\ 00392 \n\ 00393 "; 00394 } 00395 00396 static const char* value(const ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> &) { return value(); } 00397 }; 00398 00399 } // namespace message_traits 00400 } // namespace ros 00401 00402 00403 namespace ros 00404 { 00405 namespace message_traits 00406 { 00407 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > : public TrueType {}; 00408 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> const> : public TrueType {}; 00409 template<class ContainerAllocator> 00410 struct MD5Sum< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > { 00411 static const char* value() 00412 { 00413 return "4b09fc7def371137a597cd91369399bc"; 00414 } 00415 00416 static const char* value(const ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> &) { return value(); } 00417 static const uint64_t static_value1 = 0x4b09fc7def371137ULL; 00418 static const uint64_t static_value2 = 0xa597cd91369399bcULL; 00419 }; 00420 00421 template<class ContainerAllocator> 00422 struct DataType< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > { 00423 static const char* value() 00424 { 00425 return "pr2_interactive_segmentation/cornerFindResponse"; 00426 } 00427 00428 static const char* value(const ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> &) { return value(); } 00429 }; 00430 00431 template<class ContainerAllocator> 00432 struct Definition< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > { 00433 static const char* value() 00434 { 00435 return "geometry_msgs/Point[] corner\n\ 00436 geometry_msgs/Point32[] push_direction\n\ 00437 geometry_msgs/Point[] corner_convex\n\ 00438 geometry_msgs/Point32[] push_direction_convex\n\ 00439 \n\ 00440 \n\ 00441 ================================================================================\n\ 00442 MSG: geometry_msgs/Point\n\ 00443 # This contains the position of a point in free space\n\ 00444 float64 x\n\ 00445 float64 y\n\ 00446 float64 z\n\ 00447 \n\ 00448 ================================================================================\n\ 00449 MSG: geometry_msgs/Point32\n\ 00450 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00451 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00452 # \n\ 00453 # This recommendation is to promote interoperability. \n\ 00454 #\n\ 00455 # This message is designed to take up less space when sending\n\ 00456 # lots of points at once, as in the case of a PointCloud. \n\ 00457 \n\ 00458 float32 x\n\ 00459 float32 y\n\ 00460 float32 z\n\ 00461 "; 00462 } 00463 00464 static const char* value(const ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> &) { return value(); } 00465 }; 00466 00467 } // namespace message_traits 00468 } // namespace ros 00469 00470 namespace ros 00471 { 00472 namespace serialization 00473 { 00474 00475 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > 00476 { 00477 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00478 { 00479 stream.next(m.image); 00480 } 00481 00482 ROS_DECLARE_ALLINONE_SERIALIZER; 00483 }; // struct cornerFindRequest_ 00484 } // namespace serialization 00485 } // namespace ros 00486 00487 00488 namespace ros 00489 { 00490 namespace serialization 00491 { 00492 00493 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > 00494 { 00495 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00496 { 00497 stream.next(m.corner); 00498 stream.next(m.push_direction); 00499 stream.next(m.corner_convex); 00500 stream.next(m.push_direction_convex); 00501 } 00502 00503 ROS_DECLARE_ALLINONE_SERIALIZER; 00504 }; // struct cornerFindResponse_ 00505 } // namespace serialization 00506 } // namespace ros 00507 00508 namespace ros 00509 { 00510 namespace service_traits 00511 { 00512 template<> 00513 struct MD5Sum<pr2_interactive_segmentation::cornerFind> { 00514 static const char* value() 00515 { 00516 return "ac8d58fdb334d1d395d0c60410ea3eb1"; 00517 } 00518 00519 static const char* value(const pr2_interactive_segmentation::cornerFind&) { return value(); } 00520 }; 00521 00522 template<> 00523 struct DataType<pr2_interactive_segmentation::cornerFind> { 00524 static const char* value() 00525 { 00526 return "pr2_interactive_segmentation/cornerFind"; 00527 } 00528 00529 static const char* value(const pr2_interactive_segmentation::cornerFind&) { return value(); } 00530 }; 00531 00532 template<class ContainerAllocator> 00533 struct MD5Sum<pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > { 00534 static const char* value() 00535 { 00536 return "ac8d58fdb334d1d395d0c60410ea3eb1"; 00537 } 00538 00539 static const char* value(const pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> &) { return value(); } 00540 }; 00541 00542 template<class ContainerAllocator> 00543 struct DataType<pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> > { 00544 static const char* value() 00545 { 00546 return "pr2_interactive_segmentation/cornerFind"; 00547 } 00548 00549 static const char* value(const pr2_interactive_segmentation::cornerFindRequest_<ContainerAllocator> &) { return value(); } 00550 }; 00551 00552 template<class ContainerAllocator> 00553 struct MD5Sum<pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > { 00554 static const char* value() 00555 { 00556 return "ac8d58fdb334d1d395d0c60410ea3eb1"; 00557 } 00558 00559 static const char* value(const pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> &) { return value(); } 00560 }; 00561 00562 template<class ContainerAllocator> 00563 struct DataType<pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> > { 00564 static const char* value() 00565 { 00566 return "pr2_interactive_segmentation/cornerFind"; 00567 } 00568 00569 static const char* value(const pr2_interactive_segmentation::cornerFindResponse_<ContainerAllocator> &) { return value(); } 00570 }; 00571 00572 } // namespace service_traits 00573 } // namespace ros 00574 00575 #endif // PR2_INTERACTIVE_SEGMENTATION_SERVICE_CORNERFIND_H 00576