00001 #ifndef CREGISTRATIONDECIDEROROPTIMIZER_MR_H 00002 #define CREGISTRATIONDECIDEROROPTIMIZER_MR_H 00003 00004 #include "mrpt_graphslam_2d/CGraphSlamEngine_MR.h" 00005 #include "mrpt_graphslam_2d/interfaces/CRegistrationDeciderOrOptimizer_ROS.h" 00006 #include "mrpt_graphslam_2d/CConnectionManager.h" 00007 00008 // forward declaration 00009 namespace mrpt { namespace graphslam { 00010 template<class GRAPH_t> class CGraphSlamEngine_MR; 00011 } }// end of namespaces 00012 00013 namespace mrpt { namespace graphslam { 00014 00024 template<class GRAPH_T> 00025 class CRegistrationDeciderOrOptimizer_MR : 00026 public mrpt::graphslam::CRegistrationDeciderOrOptimizer_ROS<GRAPH_T> 00027 { 00028 public: 00029 typedef CGraphSlamEngine_MR<GRAPH_T> engine_t; 00030 00031 CRegistrationDeciderOrOptimizer_MR(); 00032 ~CRegistrationDeciderOrOptimizer_MR(); 00033 00034 void setCGraphSlamEnginePtr(const engine_t* engine); 00035 virtual void setCConnectionManagerPtr( 00036 mrpt::graphslam::detail::CConnectionManager* conn_manager); 00037 00038 protected: 00041 mrpt::graphslam::detail::CConnectionManager* m_conn_manager; 00044 const engine_t* m_engine; 00045 std::string own_ns; 00046 00047 00048 }; 00049 00050 } } // end of namespaces 00051 00052 // template methods implementations 00053 #include "mrpt_graphslam_2d/interfaces/CRegistrationDeciderOrOptimizer_MR_impl.h" 00054 00055 #endif /* end of include guard: CREGISTRATIONDECIDEROROPTIMIZER_MR_H */