From db3a735ff63e454c58b9098ee2b371e1cc526ac8 Mon Sep 17 00:00:00 2001
From: Jeremie Deray <jeremie.deray@pal-robotics.com>
Date: Thu, 24 May 2018 16:52:26 +0200
Subject: [PATCH] fix gtest_constraint_autodiff compile

---
 src/test/gtest_constraint_autodiff.cpp | 27 +++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/test/gtest_constraint_autodiff.cpp b/src/test/gtest_constraint_autodiff.cpp
index 52b5d1c12..c5820537f 100644
--- a/src/test/gtest_constraint_autodiff.cpp
+++ b/src/test/gtest_constraint_autodiff.cpp
@@ -74,7 +74,14 @@ TEST(CaptureAutodiff, ResidualOdom2d)
     fr1_ptr->addConstrainedBy(constraint_ptr);
 
     // EVALUATE
-    std::vector<Scalar*> states_ptr({fr1_ptr->getPPtr()->getPtr(), fr1_ptr->getOPtr()->getPtr(), fr2_ptr->getPPtr()->getPtr(), fr2_ptr->getOPtr()->getPtr()});
+
+    Eigen::VectorXs fr1_pstate = fr1_ptr->getPPtr()->getState();
+    Eigen::VectorXs fr1_ostate = fr1_ptr->getOPtr()->getState();
+    Eigen::VectorXs fr2_pstate = fr2_ptr->getPPtr()->getState();
+    Eigen::VectorXs fr2_ostate = fr2_ptr->getOPtr()->getState();
+
+    std::vector<Scalar*> states_ptr({fr1_pstate.data(), fr1_ostate.data(), fr2_pstate.data(), fr2_ostate.data()});
+
     double const* const* parameters = states_ptr.data();
     Eigen::VectorXs residuals(constraint_ptr->getSize());
     constraint_ptr->evaluate(parameters, residuals.data(), nullptr);
@@ -111,7 +118,14 @@ TEST(CaptureAutodiff, JacobianOdom2d)
     fr1_ptr->addConstrainedBy(constraint_ptr);
 
     // COMPUTE JACOBIANS
-    std::vector<const Scalar*> states_ptr({fr1_ptr->getPPtr()->getPtr(), fr1_ptr->getOPtr()->getPtr(), fr2_ptr->getPPtr()->getPtr(), fr2_ptr->getOPtr()->getPtr()});
+
+    const Eigen::VectorXs fr1_pstate = fr1_ptr->getPPtr()->getState();
+    const Eigen::VectorXs fr1_ostate = fr1_ptr->getOPtr()->getState();
+    const Eigen::VectorXs fr2_pstate = fr2_ptr->getPPtr()->getState();
+    const Eigen::VectorXs fr2_ostate = fr2_ptr->getOPtr()->getState();
+
+    std::vector<const Scalar*> states_ptr({fr1_pstate.data(), fr1_ostate.data(), fr2_pstate.data(), fr2_ostate.data()});
+
     std::vector<Eigen::MatrixXs> Jauto;
     Eigen::VectorXs residuals(constraint_ptr->getSize());
     constraint_ptr->evaluate(states_ptr, residuals, Jauto);
@@ -186,7 +200,14 @@ TEST(CaptureAutodiff, AutodiffVsAnalytic)
     fr1_ptr->addConstrainedBy(ctr_analytic_ptr);
 
     // COMPUTE JACOBIANS
-    std::vector<const Scalar*> states_ptr({fr1_ptr->getPPtr()->getPtr(), fr1_ptr->getOPtr()->getPtr(), fr2_ptr->getPPtr()->getPtr(), fr2_ptr->getOPtr()->getPtr()});
+
+    const Eigen::VectorXs fr1_pstate = fr1_ptr->getPPtr()->getState();
+    const Eigen::VectorXs fr1_ostate = fr1_ptr->getOPtr()->getState();
+    const Eigen::VectorXs fr2_pstate = fr2_ptr->getPPtr()->getState();
+    const Eigen::VectorXs fr2_ostate = fr2_ptr->getOPtr()->getState();
+
+    std::vector<const Scalar*> states_ptr({fr1_pstate.data(), fr1_ostate.data(), fr2_pstate.data(), fr2_ostate.data()});
+
     std::vector<Eigen::MatrixXs> Jautodiff, Janalytic;
     Eigen::VectorXs residuals(ctr_autodiff_ptr->getSize());
     clock_t t = clock();
-- 
GitLab