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 #ifndef TUSEROPTIONSCHECKER_ROS_H 00011 #define TUSEROPTIONSCHECKER_ROS_H 00012 00013 #include <ros/console.h> 00014 00015 #include <mrpt/graphslam/apps_related/TUserOptionsChecker.h> 00016 #include <mrpt/graphs/CNetworkOfPoses.h> 00017 #include "mrpt_graphslam_2d/NRD/CFixedIntervalsNRD_MR.h" 00018 #include "mrpt_graphslam_2d/NRD/CICPCriteriaNRD_MR.h" 00019 #include "mrpt_graphslam_2d/ERD/CLoopCloserERD_MR.h" 00020 00021 namespace mrpt { namespace graphslam { namespace apps { 00022 00023 template<class GRAPH_T> 00024 struct TUserOptionsChecker_ROS: 00025 public mrpt::graphslam::apps::TUserOptionsChecker<GRAPH_T> { 00026 00033 typedef std::map< 00034 std::string, 00035 mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T>*(*)()> 00036 node_regs_t; 00037 typedef std::map< 00038 std::string, 00039 mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_T>*(*)()> 00040 edge_regs_t; 00041 typedef std::map< 00042 std::string, 00043 mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_T>*(*)()> 00044 optimizers_t; 00046 typedef mrpt::graphslam::apps::TUserOptionsChecker<GRAPH_T> parent; 00049 TUserOptionsChecker_ROS(); 00050 ~TUserOptionsChecker_ROS(); 00052 void createDeciderOptimizerMappings(); 00053 void populateDeciderOptimizerProperties(); 00054 00055 }; 00056 00057 00058 } } } // end of namespaces 00059 #include "mrpt_graphslam_2d/TUserOptionsChecker_ROS_impl.h" 00060 00061 #endif /* end of include guard: TUSEROPTIONSCHECKER_ROS_H */