#ifndef ROSMATCHER_HPP #define ROSMATCHER_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include "ASIFT_matcher.hpp" typedef message_filters::sync_policies::ApproximateTime MySyncPolicy; enum MATCHER_STATUS{ MATCHER_STATUS_IDLE=0, MATCHER_STATUS_PROCESSING, MATCHER_STATUS_WAITING_INIT}; class ROS_matcher { protected: ros::NodeHandle _nh; //Publisher ROS ros::Publisher _center_pub; //Subscriber ROS // message_filters::Subscriber* info_sub; message_filters::Subscriber* image_sub; message_filters::Subscriber* pointcloud_sub; //Matcher int _num_tilt; ASIFT_matcher matcher; MATCHER_STATUS _status; message_filters::Synchronizer* Timesync; std::string tracked_object; public: ROS_matcher(); ~ROS_matcher(); void cameraCallback(const sensor_msgs::Image::ConstPtr& image_msg, const sensor_msgs::PointCloud2::ConstPtr& pointcloud_msg); }; #endif