Go to the documentation of this file.00001 #ifndef FEATURENAV_BASE_TYPEDEF_H
00002 #define FEATURENAV_BASE_TYPEDEF_H
00003
00004 #include <vector>
00005
00006 #include <opencv2/opencv.hpp>
00007 #include <opencv2/features2d/features2d.hpp>
00008 #include <boost/function.hpp>
00009 #include <boost/bind.hpp>
00010
00011 #include <sensor_msgs/Image.h>
00012
00013 #include <featurenav_base/Feature.h>
00014
00015 namespace featurenav_base {
00016
00017 using std::vector;
00018 using cv::KeyPoint;
00019 using cv::DMatch;
00020 using ::featurenav_base::Feature;
00021
00022
00023 typedef boost::function<void(const sensor_msgs::ImageConstPtr&, vector<KeyPoint>&, vector<Feature>&)> feature_extractor_function_ptr;
00024
00025 typedef boost::function<void(const vector<Feature>&, const vector<Feature>&, vector<vector<DMatch> >&)> descriptor_matcher_function_ptr;
00026
00027 enum action_type {LEARN, NAVIGATE};
00028
00029 typedef boost::function<bool(const action_type)> can_do_function_ptr;
00030 typedef boost::function<void(const action_type)> start_do_function_ptr;
00031
00032 }
00033
00034 #endif // FEATURENAV_BASE_TYPEDEF_H