00001 00024 #ifndef CCNY_RGBD_KEYFRAME_GRAPH_SOLVER_H 00025 #define CCNY_RGBD_KEYFRAME_GRAPH_SOLVER_H 00026 00027 #include <ros/ros.h> 00028 #include <tf/transform_datatypes.h> 00029 #include <visualization_msgs/Marker.h> 00030 00031 #include "ccny_rgbd/structures/rgbd_keyframe.h" 00032 #include "ccny_rgbd/structures/keyframe_association.h" 00033 00034 namespace ccny_rgbd { 00035 00042 class KeyframeGraphSolver 00043 { 00044 public: 00045 00050 KeyframeGraphSolver(const ros::NodeHandle& nh, 00051 const ros::NodeHandle& nh_private); 00052 00055 virtual ~KeyframeGraphSolver(); 00056 00066 virtual void solve( 00067 KeyframeVector& keyframes, 00068 KeyframeAssociationVector& associations) = 0; 00069 00070 protected: 00071 00072 ros::NodeHandle nh_; 00073 ros::NodeHandle nh_private_; 00074 }; 00075 00076 } //namespace ccny_rgbd 00077 00078 #endif // CCNY_RGBD_KEYFRAME_GRAPH_SOLVER_H