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.