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