diff --git a/gtsam.h b/gtsam.h index 2cd6415a6..838c48efc 100644 --- a/gtsam.h +++ b/gtsam.h @@ -1514,7 +1514,7 @@ virtual class SubgraphSolverParameters : gtsam::ConjugateGradientParameters { void print() const; }; -class SubgraphSolver { +virtual class SubgraphSolver { SubgraphSolver(const gtsam::GaussianFactorGraph &A, const gtsam::SubgraphSolverParameters ¶meters, const gtsam::Ordering& ordering); SubgraphSolver(const gtsam::GaussianFactorGraph &Ab1, const gtsam::GaussianFactorGraph &Ab2, const gtsam::SubgraphSolverParameters ¶meters, const gtsam::Ordering& ordering); gtsam::VectorValues optimize() const; @@ -1853,7 +1853,7 @@ virtual class NonlinearOptimizerParams { void setLinearSolverType(string solver); void setOrdering(const gtsam::Ordering& ordering); - void setIterativeParams(const gtsam::SubgraphSolverParameters ¶ms); + void setIterativeParams(gtsam::IterativeOptimizationParameters* params); bool isMultifrontal() const; bool isSequential() const; diff --git a/gtsam/linear/ConjugateGradientSolver.h b/gtsam/linear/ConjugateGradientSolver.h index 2382a0eb1..6e8509309 100644 --- a/gtsam/linear/ConjugateGradientSolver.h +++ b/gtsam/linear/ConjugateGradientSolver.h @@ -71,6 +71,8 @@ public: inline void setEpsilon_rel(double value) { epsilon_rel_ = value; } inline void setEpsilon_abs(double value) { epsilon_abs_ = value; } + + void print() const { Base::print(); } virtual void print(std::ostream &os) const; static std::string blasTranslator(const BLASKernel k) ; diff --git a/gtsam/linear/SubgraphSolver.h b/gtsam/linear/SubgraphSolver.h index e4d3f50f3..ac8a9da87 100644 --- a/gtsam/linear/SubgraphSolver.h +++ b/gtsam/linear/SubgraphSolver.h @@ -28,6 +28,7 @@ class GTSAM_EXPORT SubgraphSolverParameters : public ConjugateGradientParameters public: typedef ConjugateGradientParameters Base; SubgraphSolverParameters() : Base() {} + void print() const { Base::print(); } virtual void print(std::ostream &os) const { Base::print(os); } }; diff --git a/gtsam/nonlinear/NonlinearOptimizerParams.cpp b/gtsam/nonlinear/NonlinearOptimizerParams.cpp index e0b6e0c6c..b7ad342ca 100644 --- a/gtsam/nonlinear/NonlinearOptimizerParams.cpp +++ b/gtsam/nonlinear/NonlinearOptimizerParams.cpp @@ -66,8 +66,8 @@ std::string NonlinearOptimizerParams::verbosityTranslator( /* ************************************************************************* */ void NonlinearOptimizerParams::setIterativeParams( - const SubgraphSolverParameters ¶ms) { - iterativeParams = boost::make_shared(params); + const boost::shared_ptr params) { + iterativeParams = params; } /* ************************************************************************* */ diff --git a/gtsam/nonlinear/NonlinearOptimizerParams.h b/gtsam/nonlinear/NonlinearOptimizerParams.h index 641c6da24..cd5496209 100644 --- a/gtsam/nonlinear/NonlinearOptimizerParams.h +++ b/gtsam/nonlinear/NonlinearOptimizerParams.h @@ -148,7 +148,9 @@ public: void setLinearSolverType(const std::string& solver) { linearSolverType = linearSolverTranslator(solver); } - void setIterativeParams(const SubgraphSolverParameters& params); + + void setIterativeParams(const boost::shared_ptr params); + void setOrdering(const Ordering& ordering) { this->ordering = ordering; }