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