diff --git a/include/ceres/problem.h b/include/ceres/problem.h index fd299783d..fac57c999 100644 --- a/include/ceres/problem.h +++ b/include/ceres/problem.h @@ -537,6 +537,9 @@ class CERES_EXPORT Problem { double* residuals, double** jacobians) const; + // Returns reference to the options with which the Problem was constructed. + const Options & options() const; + // Returns pointer to Problem implementation internal::ProblemImpl* mutable_impl(); diff --git a/internal/ceres/problem.cc b/internal/ceres/problem.cc index 8c6d504b2..e51fdd1cc 100644 --- a/internal/ceres/problem.cc +++ b/internal/ceres/problem.cc @@ -212,6 +212,8 @@ void Problem::GetResidualBlocksForParameterBlock( impl_->GetResidualBlocksForParameterBlock(values, residual_blocks); } +const Problem::Options & Problem::options() const { return impl_->options(); } + internal::ProblemImpl* Problem::mutable_impl() { return impl_.get(); } } // namespace ceres diff --git a/internal/ceres/problem_impl.h b/internal/ceres/problem_impl.h index 88f09e02b..22b37b661 100644 --- a/internal/ceres/problem_impl.h +++ b/internal/ceres/problem_impl.h @@ -166,6 +166,8 @@ class CERES_NO_EXPORT ProblemImpl { return residual_block_set_; } + const Problem::Options & options() const { return options_; } + ContextImpl* context() { return context_impl_; } private: