39 #define DIM_TO_SOLVER(p, l) BlockSolver< BlockSolverTraits<p, l> > 41 #define ALLOC_CSPARSE(s, p, l, blockorder) \ 43 std::cerr << "# Using CSparse poseDim " << p << " landMarkDim " << l << " blockordering " << blockorder << std::endl; \ 44 LinearSolverCSparse< DIM_TO_SOLVER(p, l)::PoseMatrixType >* linearSolver = new LinearSolverCSparse<DIM_TO_SOLVER(p, l)::PoseMatrixType>(); \ 45 linearSolver->setBlockOrdering(blockorder); \ 46 s = new DIM_TO_SOLVER(p, l)(linearSolver); \ 56 if (fullSolverName !=
"2dlinear")
describe the properties of a solver
static OptimizationAlgorithm * createSolver(const std::string &solverName)
#define ALLOC_CSPARSE(s, p, l, blockorder)
const OptimizationAlgorithmProperty & property() const
return the properties of the solver
G2O_REGISTER_OPTIMIZATION_LIBRARY(cholmod)
virtual OptimizationAlgorithm * construct()
allocate a solver operating on optimizer, re-implement for your creator
base for allocating an optimization algorithm
Generic interface for a sparse solver operating on a graph which solves one iteration of the lineariz...
SLAM2DLinearSolverCreator(const OptimizationAlgorithmProperty &p)
Generic interface for a non-linear solver operating on a graph.
G2O_REGISTER_OPTIMIZATION_ALGORITHM(gn_var_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("gn_var_cholmod","Gauss-Newton: Cholesky solver using CHOLMOD (variable blocksize)","CHOLMOD", false, Eigen::Dynamic, Eigen::Dynamic)))
Implementation of a linear approximation for 2D pose graph SLAM.