|
g2o
|
create solvers based on their short name More...
#include <optimization_algorithm_factory.h>
Public Types | |
| typedef std::list< std::shared_ptr< AbstractOptimizationAlgorithmCreator > > | CreatorList |
Public Member Functions | |
| OptimizationAlgorithmFactory (OptimizationAlgorithmFactory const &)=delete | |
| OptimizationAlgorithmFactory & | operator= (OptimizationAlgorithmFactory const &)=delete |
| void | registerSolver (const std::shared_ptr< AbstractOptimizationAlgorithmCreator > &c) |
| void | unregisterSolver (const std::shared_ptr< AbstractOptimizationAlgorithmCreator > &c) |
| OptimizationAlgorithm * | construct (const std::string &tag, OptimizationAlgorithmProperty &solverProperty) const |
| void | listSolvers (std::ostream &os) const |
| list the known solvers into a stream | |
| const CreatorList & | creatorList () const |
| return the underlying list of creators | |
Static Public Member Functions | |
| static OptimizationAlgorithmFactory * | instance () |
| return the instance | |
| static void | destroy () |
| free the instance | |
Protected Member Functions | |
| OptimizationAlgorithmFactory ()=default | |
| CreatorList::const_iterator | findSolver (const std::string &name) const |
| CreatorList::iterator | findSolver (const std::string &name) |
Protected Attributes | |
| CreatorList | _creator |
Static Private Attributes | |
| static std::unique_ptr< OptimizationAlgorithmFactory > | factoryInstance |
create solvers based on their short name
Factory to allocate solvers based on their short name. The Factory is implemented as a singleton and the single instance can be accessed via the instance() function.
Definition at line 73 of file optimization_algorithm_factory.h.
| typedef std::list<std::shared_ptr<AbstractOptimizationAlgorithmCreator> > g2o::OptimizationAlgorithmFactory::CreatorList |
Definition at line 76 of file optimization_algorithm_factory.h.
|
delete |
|
protecteddefault |
| OptimizationAlgorithm * g2o::OptimizationAlgorithmFactory::construct | ( | const std::string & | tag, |
| OptimizationAlgorithmProperty & | solverProperty | ||
| ) | const |
construct a solver based on its name, e.g., var, fix3_2_cholmod
Definition at line 74 of file optimization_algorithm_factory.cpp.
References _creator, findSolver(), and G2O_WARN.
Referenced by MainWindow::allocateSolver(), g2o::SparseOptimizerOnline::initSolver(), and main().
|
inline |
return the underlying list of creators
Definition at line 111 of file optimization_algorithm_factory.h.
Referenced by MainWindow::updateDisplayedSolvers().
|
static |
free the instance
Definition at line 86 of file optimization_algorithm_factory.cpp.
References factoryInstance.
|
protected |
Definition at line 119 of file optimization_algorithm_factory.cpp.
References _creator, and g2o::OptimizationAlgorithmProperty::name.
|
protected |
Definition at line 109 of file optimization_algorithm_factory.cpp.
References _creator, and g2o::OptimizationAlgorithmProperty::name.
Referenced by construct(), registerSolver(), and unregisterSolver().
|
static |
return the instance
Definition at line 46 of file optimization_algorithm_factory.cpp.
References factoryInstance.
Referenced by MainWindow::allocateSolver(), g2o::SparseOptimizerOnline::initSolver(), main(), main(), g2o::RegisterOptimizationAlgorithmProxy::RegisterOptimizationAlgorithmProxy(), and MainWindow::updateDisplayedSolvers().
| void g2o::OptimizationAlgorithmFactory::listSolvers | ( | std::ostream & | os | ) | const |
list the known solvers into a stream
Definition at line 91 of file optimization_algorithm_factory.cpp.
References _creator, g2o::OptimizationAlgorithmProperty::desc, g2o::OptimizationAlgorithmProperty::name, and g2o::OptimizationAlgorithmProperty::type.
Referenced by main().
|
delete |
| void g2o::OptimizationAlgorithmFactory::registerSolver | ( | const std::shared_ptr< AbstractOptimizationAlgorithmCreator > & | c | ) |
register a specific creator for allocating a solver
Definition at line 53 of file optimization_algorithm_factory.cpp.
References _creator, findSolver(), and G2O_WARN.
Referenced by g2o::RegisterOptimizationAlgorithmProxy::RegisterOptimizationAlgorithmProxy().
| void g2o::OptimizationAlgorithmFactory::unregisterSolver | ( | const std::shared_ptr< AbstractOptimizationAlgorithmCreator > & | c | ) |
unregister a specific creator for allocating a solver
Definition at line 65 of file optimization_algorithm_factory.cpp.
References _creator, and findSolver().
|
protected |
Definition at line 116 of file optimization_algorithm_factory.h.
Referenced by construct(), findSolver(), findSolver(), listSolvers(), registerSolver(), and unregisterSolver().
|
staticprivate |
Definition at line 122 of file optimization_algorithm_factory.h.
Referenced by destroy(), and instance().