From 00abe6295dded8ec7f088a0ed52aeed82172ddd5 Mon Sep 17 00:00:00 2001
From: joanvallve <jvallve@iri.upc.edu>
Date: Mon, 15 Jun 2020 08:43:25 +0200
Subject: [PATCH] demos adapted to SolverCeres

---
 demos/demo_factor_imu.cpp           | 9 ++++-----
 demos/demo_imuPlateform_Offline.cpp | 9 ++++-----
 demos/demo_imu_constrained0.cpp     | 9 ++++-----
 3 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/demos/demo_factor_imu.cpp b/demos/demo_factor_imu.cpp
index 117e54595..581d74293 100644
--- a/demos/demo_factor_imu.cpp
+++ b/demos/demo_factor_imu.cpp
@@ -31,11 +31,10 @@ int main(int argc, char** argv)
     wolf_problem_ptr_->installProcessor("IMU", "IMU pre-integrator", "Main IMU", "");
 
     // Ceres wrappers
-    ceres::Solver::Options ceres_options;
-    ceres_options.minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
-    ceres_options.max_line_search_step_contraction = 1e-3;
-    ceres_options.max_num_iterations = 1e4;
-    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_, ceres_options, true);
+    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_);
+    ceres_manager_wolf_diff->getSolverOptions().minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
+    ceres_manager_wolf_diff->getSolverOptions().max_line_search_step_contraction = 1e-3;
+    ceres_manager_wolf_diff->getSolverOptions().max_num_iterations = 1e4;
 
     // Time and data variables
     TimeStamp t;
diff --git a/demos/demo_imuPlateform_Offline.cpp b/demos/demo_imuPlateform_Offline.cpp
index 9006e6aa7..628c4b65e 100644
--- a/demos/demo_imuPlateform_Offline.cpp
+++ b/demos/demo_imuPlateform_Offline.cpp
@@ -74,11 +74,10 @@ int main(int argc, char** argv)
     TimeStamp t(0);
 
     // CERES WRAPPER
-    ceres::Solver::Options ceres_options;
-    ceres_options.minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
-    ceres_options.max_line_search_step_contraction = 1e-3;
-    ceres_options.max_num_iterations = 1e4;
-    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_, ceres_options);
+    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_);
+    ceres_manager_wolf_diff->getSolverOptions().minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
+    ceres_manager_wolf_diff->getSolverOptions().max_line_search_step_contraction = 1e-3;
+    ceres_manager_wolf_diff->getSolverOptions().max_num_iterations = 1e4;
 
     // SENSOR + PROCESSOR IMU
     SensorBasePtr sen0_ptr = wolf_problem_ptr_->installSensor("IMU", "Main IMU", (Vector7d()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_imu.yaml");
diff --git a/demos/demo_imu_constrained0.cpp b/demos/demo_imu_constrained0.cpp
index 0512a8ac4..66db5c1c7 100644
--- a/demos/demo_imu_constrained0.cpp
+++ b/demos/demo_imu_constrained0.cpp
@@ -95,11 +95,10 @@ int main(int argc, char** argv)
     imu_data_input >> origin_bias[0] >> origin_bias[1] >> origin_bias[2] >> origin_bias[3] >> origin_bias[4] >> origin_bias[5];
 
     // CERES WRAPPER
-    ceres::Solver::Options ceres_options;
-    ceres_options.minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
-    ceres_options.max_line_search_step_contraction = 1e-3;
-    ceres_options.max_num_iterations = 1e4;
-    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_, ceres_options);
+    SolverCeres* ceres_manager_wolf_diff = new SolverCeres(wolf_problem_ptr_);
+    ceres_manager_wolf_diff->getSolverOptions().minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;ceres::LINE_SEARCH
+    ceres_manager_wolf_diff->getSolverOptions().max_line_search_step_contraction = 1e-3;
+    ceres_manager_wolf_diff->getSolverOptions().max_num_iterations = 1e4;
 
     // SENSOR + PROCESSOR IMU
     SensorBasePtr sen0_ptr = wolf_problem_ptr_->installSensor("IMU", "Main IMU", (Vector7d()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_imu.yaml");
-- 
GitLab