00001 /* +---------------------------------------------------------------------------+ 00002 | Mobile Robot Programming Toolkit (MRPT) | 00003 | http://www.mrpt.org/ | 00004 | | 00005 | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file | 00006 | See: http://www.mrpt.org/Authors - All rights reserved. | 00007 | Released under BSD License. See details in http://www.mrpt.org/License | 00008 +---------------------------------------------------------------------------+ */ 00009 00010 #pragma once 00011 00012 #include <ros/console.h> 00013 00014 #include <mrpt/graphslam/apps_related/TUserOptionsChecker.h> 00015 #include <mrpt/graphs/CNetworkOfPoses.h> 00016 #include "mrpt_graphslam_2d/NRD/CFixedIntervalsNRD_MR.h" 00017 #include "mrpt_graphslam_2d/NRD/CICPCriteriaNRD_MR.h" 00018 #include "mrpt_graphslam_2d/ERD/CLoopCloserERD_MR.h" 00019 00020 namespace mrpt { namespace graphslam { namespace apps { 00021 00022 template<class GRAPH_T> 00023 struct TUserOptionsChecker_ROS: 00024 public mrpt::graphslam::apps::TUserOptionsChecker<GRAPH_T> { 00025 00032 typedef std::map< 00033 std::string, 00034 mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T>*(*)()> 00035 node_regs_t; 00036 typedef std::map< 00037 std::string, 00038 mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_T>*(*)()> 00039 edge_regs_t; 00040 typedef std::map< 00041 std::string, 00042 mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_T>*(*)()> 00043 optimizers_t; 00045 typedef mrpt::graphslam::apps::TUserOptionsChecker<GRAPH_T> parent; 00048 TUserOptionsChecker_ROS(); 00049 ~TUserOptionsChecker_ROS(); 00051 void createDeciderOptimizerMappings(); 00052 void populateDeciderOptimizerProperties(); 00053 00054 }; 00055 00056 00057 } } } // end of namespaces 00058 #include "mrpt_graphslam_2d/TUserOptionsChecker_ROS_impl.h" 00059