27 #ifndef G2O_OPTIMIZATION_ALGORITHM_H 28 #define G2O_OPTIMIZATION_ALGORITHM_H 57 virtual bool init(
bool online =
false) = 0;
64 virtual SolverResult solve(
int iteration,
bool online =
false) = 0;
71 virtual bool computeMarginals(SparseBlockMatrix<MatrixXD>& spinv,
const std::vector<std::pair<int, int> >& blockIndices) = 0;
76 virtual bool updateStructure(
const std::vector<HyperGraph::Vertex*>& vset,
const HyperGraph::EdgeSet& edges) = 0;
99 bool updatePropertiesFromString(
const std::string& propString);
104 void printProperties(std::ostream& os)
const;
virtual void printVerbose(std::ostream &os) const
const PropertyMap & properties() const
return the properties of the solver
const SparseOptimizer * optimizer() const
return the optimizer operating on
class G2O_CORE_API OptimizationAlgorithm
PropertyMap _properties
the properties of your solver, use this to store the parameters of your solver
std::set< Edge * > EdgeSet
class G2O_CORE_API SparseOptimizer
SparseOptimizer * _optimizer
the optimizer the solver is working on
OptimizationAlgorithm(const OptimizationAlgorithm &)
SparseOptimizer * optimizer()
a collection of properties mapping from name to the property itself
Generic interface for a non-linear solver operating on a graph.