27 #ifndef G2O_OPTIMIZATION_ALGORITHM_H 28 #define G2O_OPTIMIZATION_ALGORITHM_H 34 #include "../stuff/property.h" 41 class SparseOptimizer;
56 virtual bool init(
bool online =
false) = 0;
virtual void printVerbose(std::ostream &os) const
virtual SolverResult solve(int iteration, bool online=false)=0
const PropertyMap & properties() const
return the properties of the solver
virtual bool updateStructure(const std::vector< HyperGraph::Vertex * > &vset, const HyperGraph::EdgeSet &edges)=0
virtual bool init(bool online=false)=0
const SparseOptimizer * optimizer() const
return the optimizer operating on
PropertyMap _properties
the properties of your solver, use this to store the parameters of your solver
std::set< Edge * > EdgeSet
virtual ~OptimizationAlgorithm()
virtual bool computeMarginals(SparseBlockMatrix< MatrixXd > &spinv, const std::vector< std::pair< int, int > > &blockIndices)=0
SparseOptimizer * _optimizer
the optimizer the solver is working on
bool updatePropertiesFromString(const std::string &propString)
void setOptimizer(SparseOptimizer *optimizer)
OptimizationAlgorithm(const OptimizationAlgorithm &)
OptimizationAlgorithm & operator=(const OptimizationAlgorithm &)
SparseOptimizer * optimizer()
void printProperties(std::ostream &os) const
a collection of properties mapping from name to the property itself
Generic interface for a non-linear solver operating on a graph.
Sparse matrix which uses blocks.