From 95459e7cc7d8b5dc5228597e217d92bb999aea2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Vallv=C3=A9=20Navarro?= <jvallve@iri.upc.edu> Date: Fri, 30 Nov 2018 15:53:21 +0100 Subject: [PATCH] private constraint and localparam for wrappers, getters added --- src/ceres_wrapper/cost_function_wrapper.h | 12 +++++++++++- src/ceres_wrapper/local_parametrization_wrapper.h | 7 +++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/ceres_wrapper/cost_function_wrapper.h b/src/ceres_wrapper/cost_function_wrapper.h index 65566f2fa..ffd881914 100644 --- a/src/ceres_wrapper/cost_function_wrapper.h +++ b/src/ceres_wrapper/cost_function_wrapper.h @@ -17,14 +17,19 @@ WOLF_PTR_TYPEDEFS(CostFunctionWrapper); class CostFunctionWrapper : public ceres::CostFunction { - public: + private: + ConstraintBasePtr constraint_ptr_; + public: + CostFunctionWrapper(ConstraintBasePtr _constraint_ptr); virtual ~CostFunctionWrapper(); virtual bool Evaluate(const double* const * parameters, double* residuals, double** jacobians) const; + + ConstraintBasePtr getConstraintPtr() const; }; inline CostFunctionWrapper::CostFunctionWrapper(ConstraintBasePtr _constraint_ptr) : @@ -44,6 +49,11 @@ inline bool CostFunctionWrapper::Evaluate(const double* const * parameters, doub return constraint_ptr_->evaluate(parameters, residuals, jacobians); } +inline ConstraintBasePtr CostFunctionWrapper::getConstraintPtr() const +{ + return constraint_ptr_; +} + } // namespace wolf diff --git a/src/ceres_wrapper/local_parametrization_wrapper.h b/src/ceres_wrapper/local_parametrization_wrapper.h index 1d81970a9..d9e0d9e82 100644 --- a/src/ceres_wrapper/local_parametrization_wrapper.h +++ b/src/ceres_wrapper/local_parametrization_wrapper.h @@ -30,6 +30,8 @@ class LocalParametrizationWrapper : public ceres::LocalParameterization virtual int GlobalSize() const; virtual int LocalSize() const; + + LocalParametrizationBasePtr getLocalParametrizationPtr() const; }; using LocalParametrizationWrapperPtr = std::shared_ptr<LocalParametrizationWrapper>; @@ -55,6 +57,11 @@ inline int LocalParametrizationWrapper::LocalSize() const return local_parametrization_ptr_->getLocalSize(); } +inline LocalParametrizationBasePtr LocalParametrizationWrapper::getLocalParametrizationPtr() const +{ + return local_parametrization_ptr_; +} + } // namespace wolf #endif -- GitLab