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