$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_object_manipulation/doc_stacks/2013-03-05_12-10-38.333207/pr2_object_manipulation/perception/vfh_recognizer_db/srv/normals_vfh_db_estimator.srv */ 00002 #ifndef VFH_RECOGNIZER_DB_SERVICE_NORMALS_VFH_DB_ESTIMATOR_H 00003 #define VFH_RECOGNIZER_DB_SERVICE_NORMALS_VFH_DB_ESTIMATOR_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/PointCloud2.h" 00020 #include "geometry_msgs/Pose.h" 00021 #include "std_msgs/Int32.h" 00022 #include "std_msgs/Int32.h" 00023 00024 00025 00026 namespace vfh_recognizer_db 00027 { 00028 template <class ContainerAllocator> 00029 struct normals_vfh_db_estimatorRequest_ { 00030 typedef normals_vfh_db_estimatorRequest_<ContainerAllocator> Type; 00031 00032 normals_vfh_db_estimatorRequest_() 00033 : view() 00034 , transform() 00035 , model_id() 00036 , iteration() 00037 { 00038 } 00039 00040 normals_vfh_db_estimatorRequest_(const ContainerAllocator& _alloc) 00041 : view(_alloc) 00042 , transform(_alloc) 00043 , model_id(_alloc) 00044 , iteration(_alloc) 00045 { 00046 } 00047 00048 typedef ::sensor_msgs::PointCloud2_<ContainerAllocator> _view_type; 00049 ::sensor_msgs::PointCloud2_<ContainerAllocator> view; 00050 00051 typedef ::geometry_msgs::Pose_<ContainerAllocator> _transform_type; 00052 ::geometry_msgs::Pose_<ContainerAllocator> transform; 00053 00054 typedef ::std_msgs::Int32_<ContainerAllocator> _model_id_type; 00055 ::std_msgs::Int32_<ContainerAllocator> model_id; 00056 00057 typedef ::std_msgs::Int32_<ContainerAllocator> _iteration_type; 00058 ::std_msgs::Int32_<ContainerAllocator> iteration; 00059 00060 00061 private: 00062 static const char* __s_getDataType_() { return "vfh_recognizer_db/normals_vfh_db_estimatorRequest"; } 00063 public: 00064 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00065 00066 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00067 00068 private: 00069 static const char* __s_getMD5Sum_() { return "49ba0e431d9d565e2e6ad06c9ac04d5f"; } 00070 public: 00071 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00072 00073 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00074 00075 private: 00076 static const char* __s_getServerMD5Sum_() { return "49ba0e431d9d565e2e6ad06c9ac04d5f"; } 00077 public: 00078 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00079 00080 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00081 00082 private: 00083 static const char* __s_getMessageDefinition_() { return "sensor_msgs/PointCloud2 view\n\ 00084 geometry_msgs/Pose transform\n\ 00085 std_msgs/Int32 model_id\n\ 00086 std_msgs/Int32 iteration\n\ 00087 \n\ 00088 ================================================================================\n\ 00089 MSG: sensor_msgs/PointCloud2\n\ 00090 # This message holds a collection of N-dimensional points, which may\n\ 00091 # contain additional information such as normals, intensity, etc. The\n\ 00092 # point data is stored as a binary blob, its layout described by the\n\ 00093 # contents of the \"fields\" array.\n\ 00094 \n\ 00095 # The point cloud data may be organized 2d (image-like) or 1d\n\ 00096 # (unordered). Point clouds organized as 2d images may be produced by\n\ 00097 # camera depth sensors such as stereo or time-of-flight.\n\ 00098 \n\ 00099 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\ 00100 # points).\n\ 00101 Header header\n\ 00102 \n\ 00103 # 2D structure of the point cloud. If the cloud is unordered, height is\n\ 00104 # 1 and width is the length of the point cloud.\n\ 00105 uint32 height\n\ 00106 uint32 width\n\ 00107 \n\ 00108 # Describes the channels and their layout in the binary data blob.\n\ 00109 PointField[] fields\n\ 00110 \n\ 00111 bool is_bigendian # Is this data bigendian?\n\ 00112 uint32 point_step # Length of a point in bytes\n\ 00113 uint32 row_step # Length of a row in bytes\n\ 00114 uint8[] data # Actual point data, size is (row_step*height)\n\ 00115 \n\ 00116 bool is_dense # True if there are no invalid points\n\ 00117 \n\ 00118 ================================================================================\n\ 00119 MSG: std_msgs/Header\n\ 00120 # Standard metadata for higher-level stamped data types.\n\ 00121 # This is generally used to communicate timestamped data \n\ 00122 # in a particular coordinate frame.\n\ 00123 # \n\ 00124 # sequence ID: consecutively increasing ID \n\ 00125 uint32 seq\n\ 00126 #Two-integer timestamp that is expressed as:\n\ 00127 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00128 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00129 # time-handling sugar is provided by the client library\n\ 00130 time stamp\n\ 00131 #Frame this data is associated with\n\ 00132 # 0: no frame\n\ 00133 # 1: global frame\n\ 00134 string frame_id\n\ 00135 \n\ 00136 ================================================================================\n\ 00137 MSG: sensor_msgs/PointField\n\ 00138 # This message holds the description of one point entry in the\n\ 00139 # PointCloud2 message format.\n\ 00140 uint8 INT8 = 1\n\ 00141 uint8 UINT8 = 2\n\ 00142 uint8 INT16 = 3\n\ 00143 uint8 UINT16 = 4\n\ 00144 uint8 INT32 = 5\n\ 00145 uint8 UINT32 = 6\n\ 00146 uint8 FLOAT32 = 7\n\ 00147 uint8 FLOAT64 = 8\n\ 00148 \n\ 00149 string name # Name of field\n\ 00150 uint32 offset # Offset from start of point struct\n\ 00151 uint8 datatype # Datatype enumeration, see above\n\ 00152 uint32 count # How many elements in the field\n\ 00153 \n\ 00154 ================================================================================\n\ 00155 MSG: geometry_msgs/Pose\n\ 00156 # A representation of pose in free space, composed of postion and orientation. \n\ 00157 Point position\n\ 00158 Quaternion orientation\n\ 00159 \n\ 00160 ================================================================================\n\ 00161 MSG: geometry_msgs/Point\n\ 00162 # This contains the position of a point in free space\n\ 00163 float64 x\n\ 00164 float64 y\n\ 00165 float64 z\n\ 00166 \n\ 00167 ================================================================================\n\ 00168 MSG: geometry_msgs/Quaternion\n\ 00169 # This represents an orientation in free space in quaternion form.\n\ 00170 \n\ 00171 float64 x\n\ 00172 float64 y\n\ 00173 float64 z\n\ 00174 float64 w\n\ 00175 \n\ 00176 ================================================================================\n\ 00177 MSG: std_msgs/Int32\n\ 00178 int32 data\n\ 00179 "; } 00180 public: 00181 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00182 00183 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00184 00185 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00186 { 00187 ros::serialization::OStream stream(write_ptr, 1000000000); 00188 ros::serialization::serialize(stream, view); 00189 ros::serialization::serialize(stream, transform); 00190 ros::serialization::serialize(stream, model_id); 00191 ros::serialization::serialize(stream, iteration); 00192 return stream.getData(); 00193 } 00194 00195 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00196 { 00197 ros::serialization::IStream stream(read_ptr, 1000000000); 00198 ros::serialization::deserialize(stream, view); 00199 ros::serialization::deserialize(stream, transform); 00200 ros::serialization::deserialize(stream, model_id); 00201 ros::serialization::deserialize(stream, iteration); 00202 return stream.getData(); 00203 } 00204 00205 ROS_DEPRECATED virtual uint32_t serializationLength() const 00206 { 00207 uint32_t size = 0; 00208 size += ros::serialization::serializationLength(view); 00209 size += ros::serialization::serializationLength(transform); 00210 size += ros::serialization::serializationLength(model_id); 00211 size += ros::serialization::serializationLength(iteration); 00212 return size; 00213 } 00214 00215 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > Ptr; 00216 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> const> ConstPtr; 00217 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00218 }; // struct normals_vfh_db_estimatorRequest 00219 typedef ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<std::allocator<void> > normals_vfh_db_estimatorRequest; 00220 00221 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest> normals_vfh_db_estimatorRequestPtr; 00222 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest const> normals_vfh_db_estimatorRequestConstPtr; 00223 00224 00225 template <class ContainerAllocator> 00226 struct normals_vfh_db_estimatorResponse_ { 00227 typedef normals_vfh_db_estimatorResponse_<ContainerAllocator> Type; 00228 00229 normals_vfh_db_estimatorResponse_() 00230 { 00231 } 00232 00233 normals_vfh_db_estimatorResponse_(const ContainerAllocator& _alloc) 00234 { 00235 } 00236 00237 00238 private: 00239 static const char* __s_getDataType_() { return "vfh_recognizer_db/normals_vfh_db_estimatorResponse"; } 00240 public: 00241 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00242 00243 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00244 00245 private: 00246 static const char* __s_getMD5Sum_() { return "d41d8cd98f00b204e9800998ecf8427e"; } 00247 public: 00248 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00249 00250 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00251 00252 private: 00253 static const char* __s_getServerMD5Sum_() { return "49ba0e431d9d565e2e6ad06c9ac04d5f"; } 00254 public: 00255 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00256 00257 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00258 00259 private: 00260 static const char* __s_getMessageDefinition_() { return "\n\ 00261 "; } 00262 public: 00263 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00264 00265 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00266 00267 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00268 { 00269 ros::serialization::OStream stream(write_ptr, 1000000000); 00270 return stream.getData(); 00271 } 00272 00273 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00274 { 00275 ros::serialization::IStream stream(read_ptr, 1000000000); 00276 return stream.getData(); 00277 } 00278 00279 ROS_DEPRECATED virtual uint32_t serializationLength() const 00280 { 00281 uint32_t size = 0; 00282 return size; 00283 } 00284 00285 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > Ptr; 00286 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> const> ConstPtr; 00287 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00288 }; // struct normals_vfh_db_estimatorResponse 00289 typedef ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<std::allocator<void> > normals_vfh_db_estimatorResponse; 00290 00291 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse> normals_vfh_db_estimatorResponsePtr; 00292 typedef boost::shared_ptr< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse const> normals_vfh_db_estimatorResponseConstPtr; 00293 00294 struct normals_vfh_db_estimator 00295 { 00296 00297 typedef normals_vfh_db_estimatorRequest Request; 00298 typedef normals_vfh_db_estimatorResponse Response; 00299 Request request; 00300 Response response; 00301 00302 typedef Request RequestType; 00303 typedef Response ResponseType; 00304 }; // struct normals_vfh_db_estimator 00305 } // namespace vfh_recognizer_db 00306 00307 namespace ros 00308 { 00309 namespace message_traits 00310 { 00311 template<class ContainerAllocator> struct IsMessage< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > : public TrueType {}; 00312 template<class ContainerAllocator> struct IsMessage< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> const> : public TrueType {}; 00313 template<class ContainerAllocator> 00314 struct MD5Sum< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > { 00315 static const char* value() 00316 { 00317 return "49ba0e431d9d565e2e6ad06c9ac04d5f"; 00318 } 00319 00320 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> &) { return value(); } 00321 static const uint64_t static_value1 = 0x49ba0e431d9d565eULL; 00322 static const uint64_t static_value2 = 0x2e6ad06c9ac04d5fULL; 00323 }; 00324 00325 template<class ContainerAllocator> 00326 struct DataType< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > { 00327 static const char* value() 00328 { 00329 return "vfh_recognizer_db/normals_vfh_db_estimatorRequest"; 00330 } 00331 00332 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> &) { return value(); } 00333 }; 00334 00335 template<class ContainerAllocator> 00336 struct Definition< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > { 00337 static const char* value() 00338 { 00339 return "sensor_msgs/PointCloud2 view\n\ 00340 geometry_msgs/Pose transform\n\ 00341 std_msgs/Int32 model_id\n\ 00342 std_msgs/Int32 iteration\n\ 00343 \n\ 00344 ================================================================================\n\ 00345 MSG: sensor_msgs/PointCloud2\n\ 00346 # This message holds a collection of N-dimensional points, which may\n\ 00347 # contain additional information such as normals, intensity, etc. The\n\ 00348 # point data is stored as a binary blob, its layout described by the\n\ 00349 # contents of the \"fields\" array.\n\ 00350 \n\ 00351 # The point cloud data may be organized 2d (image-like) or 1d\n\ 00352 # (unordered). Point clouds organized as 2d images may be produced by\n\ 00353 # camera depth sensors such as stereo or time-of-flight.\n\ 00354 \n\ 00355 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\ 00356 # points).\n\ 00357 Header header\n\ 00358 \n\ 00359 # 2D structure of the point cloud. If the cloud is unordered, height is\n\ 00360 # 1 and width is the length of the point cloud.\n\ 00361 uint32 height\n\ 00362 uint32 width\n\ 00363 \n\ 00364 # Describes the channels and their layout in the binary data blob.\n\ 00365 PointField[] fields\n\ 00366 \n\ 00367 bool is_bigendian # Is this data bigendian?\n\ 00368 uint32 point_step # Length of a point in bytes\n\ 00369 uint32 row_step # Length of a row in bytes\n\ 00370 uint8[] data # Actual point data, size is (row_step*height)\n\ 00371 \n\ 00372 bool is_dense # True if there are no invalid points\n\ 00373 \n\ 00374 ================================================================================\n\ 00375 MSG: std_msgs/Header\n\ 00376 # Standard metadata for higher-level stamped data types.\n\ 00377 # This is generally used to communicate timestamped data \n\ 00378 # in a particular coordinate frame.\n\ 00379 # \n\ 00380 # sequence ID: consecutively increasing ID \n\ 00381 uint32 seq\n\ 00382 #Two-integer timestamp that is expressed as:\n\ 00383 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00384 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00385 # time-handling sugar is provided by the client library\n\ 00386 time stamp\n\ 00387 #Frame this data is associated with\n\ 00388 # 0: no frame\n\ 00389 # 1: global frame\n\ 00390 string frame_id\n\ 00391 \n\ 00392 ================================================================================\n\ 00393 MSG: sensor_msgs/PointField\n\ 00394 # This message holds the description of one point entry in the\n\ 00395 # PointCloud2 message format.\n\ 00396 uint8 INT8 = 1\n\ 00397 uint8 UINT8 = 2\n\ 00398 uint8 INT16 = 3\n\ 00399 uint8 UINT16 = 4\n\ 00400 uint8 INT32 = 5\n\ 00401 uint8 UINT32 = 6\n\ 00402 uint8 FLOAT32 = 7\n\ 00403 uint8 FLOAT64 = 8\n\ 00404 \n\ 00405 string name # Name of field\n\ 00406 uint32 offset # Offset from start of point struct\n\ 00407 uint8 datatype # Datatype enumeration, see above\n\ 00408 uint32 count # How many elements in the field\n\ 00409 \n\ 00410 ================================================================================\n\ 00411 MSG: geometry_msgs/Pose\n\ 00412 # A representation of pose in free space, composed of postion and orientation. \n\ 00413 Point position\n\ 00414 Quaternion orientation\n\ 00415 \n\ 00416 ================================================================================\n\ 00417 MSG: geometry_msgs/Point\n\ 00418 # This contains the position of a point in free space\n\ 00419 float64 x\n\ 00420 float64 y\n\ 00421 float64 z\n\ 00422 \n\ 00423 ================================================================================\n\ 00424 MSG: geometry_msgs/Quaternion\n\ 00425 # This represents an orientation in free space in quaternion form.\n\ 00426 \n\ 00427 float64 x\n\ 00428 float64 y\n\ 00429 float64 z\n\ 00430 float64 w\n\ 00431 \n\ 00432 ================================================================================\n\ 00433 MSG: std_msgs/Int32\n\ 00434 int32 data\n\ 00435 "; 00436 } 00437 00438 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> &) { return value(); } 00439 }; 00440 00441 } // namespace message_traits 00442 } // namespace ros 00443 00444 00445 namespace ros 00446 { 00447 namespace message_traits 00448 { 00449 template<class ContainerAllocator> struct IsMessage< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > : public TrueType {}; 00450 template<class ContainerAllocator> struct IsMessage< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> const> : public TrueType {}; 00451 template<class ContainerAllocator> 00452 struct MD5Sum< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > { 00453 static const char* value() 00454 { 00455 return "d41d8cd98f00b204e9800998ecf8427e"; 00456 } 00457 00458 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> &) { return value(); } 00459 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL; 00460 static const uint64_t static_value2 = 0xe9800998ecf8427eULL; 00461 }; 00462 00463 template<class ContainerAllocator> 00464 struct DataType< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > { 00465 static const char* value() 00466 { 00467 return "vfh_recognizer_db/normals_vfh_db_estimatorResponse"; 00468 } 00469 00470 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> &) { return value(); } 00471 }; 00472 00473 template<class ContainerAllocator> 00474 struct Definition< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > { 00475 static const char* value() 00476 { 00477 return "\n\ 00478 "; 00479 } 00480 00481 static const char* value(const ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> &) { return value(); } 00482 }; 00483 00484 template<class ContainerAllocator> struct IsFixedSize< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > : public TrueType {}; 00485 } // namespace message_traits 00486 } // namespace ros 00487 00488 namespace ros 00489 { 00490 namespace serialization 00491 { 00492 00493 template<class ContainerAllocator> struct Serializer< ::vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > 00494 { 00495 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00496 { 00497 stream.next(m.view); 00498 stream.next(m.transform); 00499 stream.next(m.model_id); 00500 stream.next(m.iteration); 00501 } 00502 00503 ROS_DECLARE_ALLINONE_SERIALIZER; 00504 }; // struct normals_vfh_db_estimatorRequest_ 00505 } // namespace serialization 00506 } // namespace ros 00507 00508 00509 namespace ros 00510 { 00511 namespace serialization 00512 { 00513 00514 template<class ContainerAllocator> struct Serializer< ::vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > 00515 { 00516 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00517 { 00518 } 00519 00520 ROS_DECLARE_ALLINONE_SERIALIZER; 00521 }; // struct normals_vfh_db_estimatorResponse_ 00522 } // namespace serialization 00523 } // namespace ros 00524 00525 namespace ros 00526 { 00527 namespace service_traits 00528 { 00529 template<> 00530 struct MD5Sum<vfh_recognizer_db::normals_vfh_db_estimator> { 00531 static const char* value() 00532 { 00533 return "49ba0e431d9d565e2e6ad06c9ac04d5f"; 00534 } 00535 00536 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimator&) { return value(); } 00537 }; 00538 00539 template<> 00540 struct DataType<vfh_recognizer_db::normals_vfh_db_estimator> { 00541 static const char* value() 00542 { 00543 return "vfh_recognizer_db/normals_vfh_db_estimator"; 00544 } 00545 00546 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimator&) { return value(); } 00547 }; 00548 00549 template<class ContainerAllocator> 00550 struct MD5Sum<vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > { 00551 static const char* value() 00552 { 00553 return "49ba0e431d9d565e2e6ad06c9ac04d5f"; 00554 } 00555 00556 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> &) { return value(); } 00557 }; 00558 00559 template<class ContainerAllocator> 00560 struct DataType<vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> > { 00561 static const char* value() 00562 { 00563 return "vfh_recognizer_db/normals_vfh_db_estimator"; 00564 } 00565 00566 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimatorRequest_<ContainerAllocator> &) { return value(); } 00567 }; 00568 00569 template<class ContainerAllocator> 00570 struct MD5Sum<vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > { 00571 static const char* value() 00572 { 00573 return "49ba0e431d9d565e2e6ad06c9ac04d5f"; 00574 } 00575 00576 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> &) { return value(); } 00577 }; 00578 00579 template<class ContainerAllocator> 00580 struct DataType<vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> > { 00581 static const char* value() 00582 { 00583 return "vfh_recognizer_db/normals_vfh_db_estimator"; 00584 } 00585 00586 static const char* value(const vfh_recognizer_db::normals_vfh_db_estimatorResponse_<ContainerAllocator> &) { return value(); } 00587 }; 00588 00589 } // namespace service_traits 00590 } // namespace ros 00591 00592 #endif // VFH_RECOGNIZER_DB_SERVICE_NORMALS_VFH_DB_ESTIMATOR_H 00593