MRPT  2.0.4
List of all members | Public Member Functions | Public Attributes
mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t > Struct Template Reference

Detailed Description

template<class GRAPH_t>
struct mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >

Class containing the declarations of supplementary methods that can be used in application-related code.

Class instance can be handy for adding keeping the available deciders/optimizers in a compact manner and for verifying whether a given decider can be used.

Definition at line 93 of file TUserOptionsChecker.h.

#include <mrpt/graphslam/apps_related/TUserOptionsChecker.h>

Inheritance diagram for mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >:

Public Types

handy typedefs for the creation of deciders/optimzer instances from

the corresponding strings

using constraint_t = typename GRAPH_t::constraint_t
 
using pose_t = typename GRAPH_t::constraint_t::type_value
 
using node_regs_t = std::map< std::string, mrpt::graphslam::deciders::CNodeRegistrationDecider< GRAPH_t > *(*)()>
 
using edge_regs_t = std::map< std::string, mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_t > *(*)()>
 
using optimizers_t = std::map< std::string, mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_t > *(*)()>
 

Public Member Functions

 TUserOptionsChecker ()
 Constructor. More...
 
virtual ~TUserOptionsChecker ()
 Destructor. More...
 
virtual void createDeciderOptimizerMappings ()
 Create the necessary mappings from strings to the corresponding instance creation functors. More...
 
virtual void _createDeciderOptimizerMappings ()
 
virtual void populateDeciderOptimizerProperties ()
 Populate the available decider, optimizer classes available in user applications. More...
 
virtual bool checkRegistrationDeciderExists (std::string given_reg, std::string reg_type) const
 Check if the given registrator decider exists in the vector of deciders. More...
 
virtual bool checkOptimizerExists (std::string given_opt) const
 Check if the given optimizer exists in the vector of optimizers. More...
 
virtual void dumpRegistrarsToConsole (std::string reg_type="all") const
 Print the registration deciders vector in a formatted manner to the standard output. More...
 
virtual void dumpOptimizersToConsole () const
 Print the optimizers vector in a formatted manner to the standard output. More...
 
template<>
void _createDeciderOptimizerMappings ()
 
template<>
void _createDeciderOptimizerMappings ()
 
template<>
void _createDeciderOptimizerMappings ()
 

Static Public Member Functions

Methods for initializing decider/optimizer instances based on the

user command line choices - http://stackoverflow.com/a/582456/2843583

Warning
Caller is responsible for deleting the initialized instances
template<class T >
static mrpt::graphslam::deciders::CNodeRegistrationDecider< GRAPH_t > * createNodeRegistrationDecider ()
 
template<class T >
static mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_t > * createEdgeRegistrationDecider ()
 
template<class T >
static mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_t > * createGraphSlamOptimizer ()
 

Public Attributes

const std::string sep_header
 
const std::string sep_subheader
 
Mappings from registration decider/optimizer names to functors

}

for creating instances of the corresponding classes

node_regs_t node_regs_map
 
edge_regs_t edge_regs_map
 
optimizers_t optimizers_map
 
Vectors containing descriptions about the available

deciders/optimizers.

Handy for displaying information to the user (e.g. in help text)

std::vector< TRegistrationDeciderProps * > regs_descriptions
 
std::vector< TOptimizerProps * > optimizers_descriptions
 

Member Typedef Documentation

◆ constraint_t

template<class GRAPH_t>
using mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::constraint_t = typename GRAPH_t::constraint_t

Definition at line 99 of file TUserOptionsChecker.h.

◆ edge_regs_t

template<class GRAPH_t>
using mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::edge_regs_t = std::map< std::string, mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_t>* (*)()>

Definition at line 106 of file TUserOptionsChecker.h.

◆ node_regs_t

template<class GRAPH_t>
using mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::node_regs_t = std::map< std::string, mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_t>* (*)()>

Definition at line 103 of file TUserOptionsChecker.h.

◆ optimizers_t

template<class GRAPH_t>
using mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::optimizers_t = std::map< std::string, mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_t>* (*)()>

Definition at line 109 of file TUserOptionsChecker.h.

◆ pose_t

template<class GRAPH_t>
using mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::pose_t = typename GRAPH_t::constraint_t::type_value

Definition at line 100 of file TUserOptionsChecker.h.

Constructor & Destructor Documentation

◆ TUserOptionsChecker()

template<class GRAPH_t >
mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::TUserOptionsChecker ( )

Constructor.

Definition at line 14 of file TUserOptionsChecker_impl.h.

◆ ~TUserOptionsChecker()

template<class GRAPH_t >
mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::~TUserOptionsChecker ( )
virtual

Destructor.

Definition at line 20 of file TUserOptionsChecker_impl.h.

Member Function Documentation

◆ _createDeciderOptimizerMappings() [1/4]

template<>
void mrpt::graphslam::apps::TUserOptionsChecker< mrpt::graphs::CNetworkOfPoses2DInf >::_createDeciderOptimizerMappings ( )
inline

Definition at line 76 of file TUserOptionsChecker_impl.h.

◆ _createDeciderOptimizerMappings() [2/4]

template<>
void mrpt::graphslam::apps::TUserOptionsChecker< mrpt::graphs::CNetworkOfPoses2DInf_NA >::_createDeciderOptimizerMappings ( )
inline

Definition at line 89 of file TUserOptionsChecker_impl.h.

◆ _createDeciderOptimizerMappings() [3/4]

template<>
void mrpt::graphslam::apps::TUserOptionsChecker< mrpt::graphs::CNetworkOfPoses3DInf >::_createDeciderOptimizerMappings ( )
inline

Definition at line 104 of file TUserOptionsChecker_impl.h.

◆ _createDeciderOptimizerMappings() [4/4]

template<class GRAPH_t >
void mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::_createDeciderOptimizerMappings ( )
virtual

Definition at line 69 of file TUserOptionsChecker_impl.h.

◆ checkOptimizerExists()

template<class GRAPH_t >
bool mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::checkOptimizerExists ( std::string  given_opt) const
virtual

Check if the given optimizer exists in the vector of optimizers.

Returns
True if it exists, false otherwise

Definition at line 264 of file TUserOptionsChecker_impl.h.

Referenced by CGraphSlamHandler< GRAPH_T >::initEngine().

Here is the caller graph for this function:

◆ checkRegistrationDeciderExists()

template<class GRAPH_t >
bool mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::checkRegistrationDeciderExists ( std::string  given_reg,
std::string  reg_type 
) const
virtual

Check if the given registrator decider exists in the vector of deciders.

Parameters
[in]given_regString specifying the type of decider - This should either be "node" or "edge"
Returns
True if it exists, false otherwise

Definition at line 217 of file TUserOptionsChecker_impl.h.

Referenced by CGraphSlamHandler< GRAPH_T >::initEngine().

Here is the caller graph for this function:

◆ createDeciderOptimizerMappings()

template<class GRAPH_t >
void mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::createDeciderOptimizerMappings ( )
virtual

Create the necessary mappings from strings to the corresponding instance creation functors.

Method is used for populating a map from string to instance creation function. The decider/optimzer can then be spawned according to the user selection.

Definition at line 39 of file TUserOptionsChecker_impl.h.

◆ createEdgeRegistrationDecider()

template<class GRAPH_t>
template<class T >
static mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_t>* mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::createEdgeRegistrationDecider ( )
inlinestatic

Definition at line 176 of file TUserOptionsChecker.h.

◆ createGraphSlamOptimizer()

template<class GRAPH_t>
template<class T >
static mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_t>* mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::createGraphSlamOptimizer ( )
inlinestatic

Definition at line 182 of file TUserOptionsChecker.h.

◆ createNodeRegistrationDecider()

template<class GRAPH_t>
template<class T >
static mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_t>* mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::createNodeRegistrationDecider ( )
inlinestatic

Definition at line 170 of file TUserOptionsChecker.h.

◆ dumpOptimizersToConsole()

template<class GRAPH_t >
void mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::dumpOptimizersToConsole ( ) const
virtual

Print the optimizers vector in a formatted manner to the standard output.

Definition at line 179 of file TUserOptionsChecker_impl.h.

◆ dumpRegistrarsToConsole()

template<class GRAPH_t >
void mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::dumpRegistrarsToConsole ( std::string  reg_type = "all") const
virtual

Print the registration deciders vector in a formatted manner to the standard output.

Parameters
[in]reg_typeMethod prints both the node registration and edge registration deciders of the given vector unless specified otherwise. The available argument options are "node", "edge", "all"

Definition at line 109 of file TUserOptionsChecker_impl.h.

◆ populateDeciderOptimizerProperties()

template<class GRAPH_t >
void mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::populateDeciderOptimizerProperties ( )
virtual

Populate the available decider, optimizer classes available in user applications.

Definition at line 299 of file TUserOptionsChecker_impl.h.

Member Data Documentation

◆ edge_regs_map

template<class GRAPH_t>
edge_regs_t mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::edge_regs_map

Definition at line 193 of file TUserOptionsChecker.h.

Referenced by CGraphSlamHandler< GRAPH_T >::initEngine().

◆ node_regs_map

template<class GRAPH_t>
node_regs_t mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::node_regs_map

Definition at line 192 of file TUserOptionsChecker.h.

Referenced by CGraphSlamHandler< GRAPH_T >::initEngine().

◆ optimizers_descriptions

template<class GRAPH_t>
std::vector<TOptimizerProps*> mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::optimizers_descriptions

Definition at line 204 of file TUserOptionsChecker.h.

◆ optimizers_map

template<class GRAPH_t>
optimizers_t mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::optimizers_map

Definition at line 194 of file TUserOptionsChecker.h.

Referenced by CGraphSlamHandler< GRAPH_T >::initEngine().

◆ regs_descriptions

template<class GRAPH_t>
std::vector<TRegistrationDeciderProps*> mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::regs_descriptions

Definition at line 203 of file TUserOptionsChecker.h.

◆ sep_header

template<class GRAPH_t>
const std::string mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::sep_header

Definition at line 207 of file TUserOptionsChecker.h.

◆ sep_subheader

template<class GRAPH_t>
const std::string mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_t >::sep_subheader

Definition at line 208 of file TUserOptionsChecker.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 7ea9b7e81 Mon May 25 11:43:10 2020 +0200 at lun may 25 11:45:15 CEST 2020