From 5b62e2a1ccc35e550bfd999d75fd195f3bb80c6d Mon Sep 17 00:00:00 2001
From: jcasals <jcasals@iri.upc.edu>
Date: Fri, 17 Apr 2020 14:57:33 +0200
Subject: [PATCH] Set default value for _tabs @problem::print

---
 include/core/capture/capture_base.h        | 24 ++++++++++++----------
 include/core/capture/capture_motion.h      | 11 +++++-----
 include/core/factor/factor_base.h          | 24 ++++++++++++----------
 include/core/feature/feature_base.h        | 22 +++++++++++---------
 include/core/frame/frame_base.h            | 24 ++++++++++++----------
 include/core/hardware/hardware_base.h      | 22 +++++++++++---------
 include/core/landmark/landmark_base.h      | 24 ++++++++++++----------
 include/core/map/map_base.h                | 22 +++++++++++---------
 include/core/processor/processor_base.h    | 24 ++++++++++++----------
 include/core/processor/processor_motion.h  | 11 +++++-----
 include/core/processor/processor_tracker.h | 11 +++++-----
 include/core/sensor/sensor_base.h          | 22 +++++++++++---------
 include/core/trajectory/trajectory_base.h  | 22 +++++++++++---------
 src/capture/capture_base.cpp               |  8 ++++----
 src/capture/capture_motion.cpp             |  2 +-
 src/factor/factor_base.cpp                 |  6 +++---
 src/feature/feature_base.cpp               |  8 ++++----
 src/frame/frame_base.cpp                   |  8 ++++----
 src/hardware/hardware_base.cpp             |  8 ++++----
 src/landmark/landmark_base.cpp             |  6 +++---
 src/map/map_base.cpp                       |  8 ++++----
 src/problem/problem.cpp                    |  6 +++---
 src/processor/processor_base.cpp           |  6 +++---
 src/processor/processor_motion.cpp         |  2 +-
 src/processor/processor_tracker.cpp        |  2 +-
 src/sensor/sensor_base.cpp                 |  8 ++++----
 src/trajectory/trajectory_base.cpp         |  8 ++++----
 27 files changed, 186 insertions(+), 163 deletions(-)

diff --git a/include/core/capture/capture_base.h b/include/core/capture/capture_base.h
index 393eddb8a..f8de56fd5 100644
--- a/include/core/capture/capture_base.h
+++ b/include/core/capture/capture_base.h
@@ -102,17 +102,19 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s
         template<typename classType, typename... T>
         static std::shared_ptr<classType> emplace(FrameBasePtr _frm_ptr, T&&... all);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
     protected:
         virtual SizeEigen computeCalibSize() const;
diff --git a/include/core/capture/capture_motion.h b/include/core/capture/capture_motion.h
index e023de9fe..868ebb037 100644
--- a/include/core/capture/capture_motion.h
+++ b/include/core/capture/capture_motion.h
@@ -101,11 +101,12 @@ class CaptureMotion : public CaptureBase
         CaptureBasePtr getOriginCapture() const;
         void setOriginCapture(CaptureBasePtr _capture_origin_ptr);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const override;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const override;
 
         // member data:
     private:
diff --git a/include/core/factor/factor_base.h b/include/core/factor/factor_base.h
index 67134b3f1..ddfb449dc 100644
--- a/include/core/factor/factor_base.h
+++ b/include/core/factor/factor_base.h
@@ -206,17 +206,19 @@ class FactorBase : public NodeBase, public std::enable_shared_from_this<FactorBa
         template<typename classType, typename... T>
         static std::shared_ptr<classType> emplace(FeatureBasePtr _oth_ptr, T&&... all);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
     private:
 
diff --git a/include/core/feature/feature_base.h b/include/core/feature/feature_base.h
index b5d01e256..f009a577e 100644
--- a/include/core/feature/feature_base.h
+++ b/include/core/feature/feature_base.h
@@ -106,16 +106,18 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature
         template<typename classType, typename... T>
         static std::shared_ptr<classType> emplace(CaptureBasePtr _cpt_ptr, T&&... all);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
     private:
         void setCapture(CaptureBasePtr _cap_ptr){capture_ptr_ = _cap_ptr;}
diff --git a/include/core/frame/frame_base.h b/include/core/frame/frame_base.h
index 9fc19c6ab..21fef45a1 100644
--- a/include/core/frame/frame_base.h
+++ b/include/core/frame/frame_base.h
@@ -131,17 +131,19 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
         template<typename classType, typename... T>
         static std::shared_ptr<classType> emplace(TrajectoryBasePtr _ptr, T&&... all);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
     private:
 
         CaptureBasePtr addCapture(CaptureBasePtr _capt_ptr);
diff --git a/include/core/hardware/hardware_base.h b/include/core/hardware/hardware_base.h
index 240cf1fd1..b9123d334 100644
--- a/include/core/hardware/hardware_base.h
+++ b/include/core/hardware/hardware_base.h
@@ -27,16 +27,18 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa
 
         const SensorBasePtrList& getSensorList() const;
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
     private:
         virtual SensorBasePtr addSensor(SensorBasePtr _sensor_ptr);
diff --git a/include/core/landmark/landmark_base.h b/include/core/landmark/landmark_base.h
index 317c5c127..49027c2a0 100644
--- a/include/core/landmark/landmark_base.h
+++ b/include/core/landmark/landmark_base.h
@@ -85,17 +85,19 @@ class LandmarkBase : public NodeBase, public HasStateBlocks, public std::enable_
          */
         static LandmarkBasePtr create(const YAML::Node& _node);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
     private:
 
diff --git a/include/core/map/map_base.h b/include/core/map/map_base.h
index 6ed65e3de..81113892f 100644
--- a/include/core/map/map_base.h
+++ b/include/core/map/map_base.h
@@ -38,16 +38,18 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase>
         void load(const std::string& _map_file_yaml);
         void save(const std::string& _map_file_yaml, const std::string& _map_name = "Map automatically saved by Wolf");
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
     private:
         std::string dateTimeNow();
 };
diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h
index 41484d4ff..2edffe893 100644
--- a/include/core/processor/processor_base.h
+++ b/include/core/processor/processor_base.h
@@ -362,17 +362,19 @@ class ProcessorBase : public NodeBase, public std::enable_shared_from_this<Proce
         static std::shared_ptr<classType> emplace(SensorBasePtr _sen_ptr, T&&... all);
         void setVotingAuxActive(bool _voting_active = true);
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 };
 
 inline bool ProcessorBase::isVotingActive() const
diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h
index c0ce83b75..03c810e6d 100644
--- a/include/core/processor/processor_motion.h
+++ b/include/core/processor/processor_motion.h
@@ -457,11 +457,12 @@ class ProcessorMotion : public ProcessorBase, public IsMotion
         void setDistTraveled(const double& _dist_traveled);
         void setAngleTurned(const double& _angle_turned);
 
-        void printHeader(std::string _tabs, int depth, //
-                   std::ostream& stream ,
-                   bool constr_by, //
-                   bool metric, //
-                   bool state_blocks) const override;
+        void printHeader(int depth, //
+                         std::ostream& stream ,
+                         bool constr_by, //
+                         bool metric, //
+                         bool state_blocks,
+                         std::string _tabs = "") const override;
 
     protected:
         // Attributes
diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h
index cc9aa3e43..116dbec0f 100644
--- a/include/core/processor/processor_tracker.h
+++ b/include/core/processor/processor_tracker.h
@@ -246,11 +246,12 @@ class ProcessorTracker : public ProcessorBase
             return this->params_tracker_->print();
         }
 
-        void printHeader(std::string _tabs, int depth, //
-                   std::ostream& stream ,
-                   bool constr_by, //
-                   bool metric, //
-                   bool state_blocks) const override;
+        void printHeader(int depth, //
+                         std::ostream& stream ,
+                         bool constr_by, //
+                         bool metric, //
+                         bool state_blocks,
+                         std::string _tabs = "") const override;
 
     protected:
 
diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h
index 461ac56c6..78dea5133 100644
--- a/include/core/sensor/sensor_base.h
+++ b/include/core/sensor/sensor_base.h
@@ -242,16 +242,18 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh
         Eigen::VectorXd getNoiseStd() const;
         Eigen::MatrixXd getNoiseCov() const;
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
 
 
         void link(HardwareBasePtr);
diff --git a/include/core/trajectory/trajectory_base.h b/include/core/trajectory/trajectory_base.h
index 66122cf2f..a19748203 100644
--- a/include/core/trajectory/trajectory_base.h
+++ b/include/core/trajectory/trajectory_base.h
@@ -47,16 +47,18 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
         void sortFrame(FrameBasePtr _frm_ptr);
         void updateLastFrames();
 
-        virtual void printHeader(std::string _tabs, int depth, //
-                           std::ostream& stream ,
-                           bool constr_by, //
-                           bool metric, //
-                           bool state_blocks) const;
-        void print(std::string _tabs, int depth, //
-                            std::ostream& stream ,
-                            bool constr_by, //
-                            bool metric, //
-                            bool state_blocks) const;
+        virtual void printHeader(int depth, //
+                                 std::ostream& stream ,
+                                 bool constr_by, //
+                                 bool metric, //
+                                 bool state_blocks,
+                                 std::string _tabs = "") const;
+        void print(int depth, //
+                   std::ostream& stream,
+                   bool constr_by, //
+                   bool metric, //
+                   bool state_blocks,
+                   std::string _tabs = "") const;
     private:
         FrameBasePtr addFrame(FrameBasePtr _frame_ptr);
         void removeFrame(FrameBasePtr _frame_ptr);
diff --git a/src/capture/capture_base.cpp b/src/capture/capture_base.cpp
index 456c94512..b3c88e159 100644
--- a/src/capture/capture_base.cpp
+++ b/src/capture/capture_base.cpp
@@ -277,7 +277,7 @@ void CaptureBase::setProblem(ProblemPtr _problem)
         ft->setProblem(_problem);
 }
 
-void CaptureBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void CaptureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Cap" << id() << " " << getType();
 
@@ -338,11 +338,11 @@ void CaptureBase::printHeader(std::string _tabs, int _depth, std::ostream& _stre
 //            }
 //        }
 }
-void CaptureBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void CaptureBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 3)
         for (auto f : getFeatureList())
-            f->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            f->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/capture/capture_motion.cpp b/src/capture/capture_motion.cpp
index 43b32071e..2952a97a8 100644
--- a/src/capture/capture_motion.cpp
+++ b/src/capture/capture_motion.cpp
@@ -71,7 +71,7 @@ Eigen::VectorXd CaptureMotion::getDeltaCorrected(const VectorXd& _calib_current,
     return   delta_corrected;
 }
 
-void CaptureMotion::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void CaptureMotion::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "CapM" << id() << " " << getType();
 
diff --git a/src/factor/factor_base.cpp b/src/factor/factor_base.cpp
index 67c9d44f8..03a2898fb 100644
--- a/src/factor/factor_base.cpp
+++ b/src/factor/factor_base.cpp
@@ -299,7 +299,7 @@ void FactorBase::setProblem(ProblemPtr _problem)
         this->getProblem()->notifyFactor(shared_from_this(),ADD);
 }
 
-void FactorBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FactorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Fac" << id() << " " << getType() << " -->";
     if (       getFrameOtherList()   .empty()
@@ -323,8 +323,8 @@ void FactorBase::printHeader(std::string _tabs, int _depth, std::ostream& _strea
     _stream << std::endl;
 }
 
-void FactorBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FactorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
 }
 } // namespace wolf
diff --git a/src/feature/feature_base.cpp b/src/feature/feature_base.cpp
index d48101d9e..bde4b4944 100644
--- a/src/feature/feature_base.cpp
+++ b/src/feature/feature_base.cpp
@@ -165,7 +165,7 @@ void FeatureBase::link(CaptureBasePtr _cpt_ptr)
         WOLF_WARN("Linking with nullptr");
     }
 }
-void FeatureBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FeatureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Ftr" << id() << " trk" << trackId() << " " << getType() << ((_depth < 4) ? " -- " + std::to_string(getFactorList().size()) + "c  " : "");
     if (_constr_by)
@@ -181,11 +181,11 @@ void FeatureBase::printHeader(std::string _tabs, int _depth, std::ostream& _stre
 
 }
 
-void FeatureBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FeatureBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 4)
         for (auto c : getFactorList())
-            c->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            c->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/frame/frame_base.cpp b/src/frame/frame_base.cpp
index f34fa3a2b..f093b55ba 100644
--- a/src/frame/frame_base.cpp
+++ b/src/frame/frame_base.cpp
@@ -359,7 +359,7 @@ void FrameBase::setProblem(ProblemPtr _problem)
         cap->setProblem(_problem);
 }
 
-void FrameBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FrameBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << (isKeyOrAux() ? (isKey() ? "KFrm" : "AFrm") : "Frm") << id() << ((_depth < 2) ? " -- " + std::to_string(getCaptureList().size()) + "C  " : "");
     if (_constr_by)
@@ -396,11 +396,11 @@ void FrameBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream
     }
 }
 
-void FrameBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void FrameBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 2)
         for (auto C : getCaptureList())
-            C->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            C->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/hardware/hardware_base.cpp b/src/hardware/hardware_base.cpp
index 740aabe26..7d3e3c2a4 100644
--- a/src/hardware/hardware_base.cpp
+++ b/src/hardware/hardware_base.cpp
@@ -20,16 +20,16 @@ SensorBasePtr HardwareBase::addSensor(SensorBasePtr _sensor_ptr)
     return _sensor_ptr;
 }
 
-void HardwareBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void HardwareBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Hardware" << ((_depth < 1) ? ("   -- " + std::to_string(getSensorList().size()) + "S") : "")  << std::endl;
 
 }
-void HardwareBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void HardwareBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 1)
         for (auto S : getSensorList())
-            S->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            S->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/landmark/landmark_base.cpp b/src/landmark/landmark_base.cpp
index 0941ece13..9c93ba591 100644
--- a/src/landmark/landmark_base.cpp
+++ b/src/landmark/landmark_base.cpp
@@ -153,7 +153,7 @@ bool LandmarkBase::isConstrainedBy(const FactorBasePtr &_factor) const
         return false;
 }
 
-void LandmarkBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void LandmarkBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Lmk" << id() << " " << getType();
     if (_constr_by)
@@ -189,9 +189,9 @@ void LandmarkBase::printHeader(std::string _tabs, int _depth, std::ostream& _str
     }
 }
 
-void LandmarkBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void LandmarkBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
 }
 LandmarkBasePtr LandmarkBase::create(const YAML::Node& _node)
 {
diff --git a/src/map/map_base.cpp b/src/map/map_base.cpp
index 791438acf..6dc86a98e 100644
--- a/src/map/map_base.cpp
+++ b/src/map/map_base.cpp
@@ -90,15 +90,15 @@ std::string MapBase::dateTimeNow()
     return date_time;
 }
 
-void MapBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void MapBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Map" << ((_depth < 1) ? ("        -- " + std::to_string(getLandmarkList().size()) + "L") : "") << std::endl;
 }
-void MapBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void MapBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 1)
         for (auto L : getLandmarkList())
-            L->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            L->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 3e9abf1ea..edd4a25e2 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -958,11 +958,11 @@ void Problem::print(int _depth, std::ostream& _stream, bool _constr_by, bool _me
     _stream << std::endl;
     _stream << "P: wolf tree status ---------------------" << std::endl;
 
-    getHardware()->print("", _depth, _stream, _constr_by, _metric, _state_blocks);
+    getHardware()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
 
-    getTrajectory()->print("", _depth, _stream, _constr_by, _metric, _state_blocks);
+    getTrajectory()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
 
-    getMap()->print("", _depth, _stream, _constr_by, _metric, _state_blocks);
+    getMap()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
 
     _stream << "-----------------------------------------" << std::endl;
     _stream << std::endl;
diff --git a/src/processor/processor_base.cpp b/src/processor/processor_base.cpp
index 4d3aa3a38..bfcf89fa1 100644
--- a/src/processor/processor_base.cpp
+++ b/src/processor/processor_base.cpp
@@ -196,14 +196,14 @@ void BufferPackKeyFrame::print(void) const
     std::cout << "]" << std::endl;
 }
 
-void ProcessorBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void ProcessorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Prc" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
 
 }
 
-void ProcessorBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void ProcessorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
 }
 } // namespace wolf
diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index 9ebeebe91..9c512a923 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -660,7 +660,7 @@ bool ProcessorMotion::storeCapture(CaptureBasePtr _cap_ptr)
   return false;
 }
 
-void ProcessorMotion::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void ProcessorMotion::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "PrcM" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
     if (getOrigin())
diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp
index 5de9a091d..2a1703b3d 100644
--- a/src/processor/processor_tracker.cpp
+++ b/src/processor/processor_tracker.cpp
@@ -322,7 +322,7 @@ bool ProcessorTracker::storeCapture(CaptureBasePtr _cap_ptr)
   return false;
 }
 
-void ProcessorTracker::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void ProcessorTracker::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "PrcT" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
     if (getOrigin())
diff --git a/src/sensor/sensor_base.cpp b/src/sensor/sensor_base.cpp
index f3d249906..4089d3c95 100644
--- a/src/sensor/sensor_base.cpp
+++ b/src/sensor/sensor_base.cpp
@@ -467,7 +467,7 @@ void SensorBase::link(HardwareBasePtr _hw_ptr)
     }
 }
 
-void SensorBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void SensorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Sen" << id() << " " << getType() << " \"" << getName() << "\"";
     if (_depth < 2)
@@ -509,12 +509,12 @@ void SensorBase::printHeader(std::string _tabs, int _depth, std::ostream& _strea
     }
 }
 
-void SensorBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void SensorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
 
     if (_depth >= 2)
         for (auto p : getProcessorList())
-            p->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            p->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/trajectory/trajectory_base.cpp b/src/trajectory/trajectory_base.cpp
index 3fb3ff0a8..087b79af9 100644
--- a/src/trajectory/trajectory_base.cpp
+++ b/src/trajectory/trajectory_base.cpp
@@ -136,16 +136,16 @@ FrameBasePtr TrajectoryBase::closestKeyOrAuxFrameToTimeStamp(const TimeStamp& _t
     return closest_kf;
 }
 
-void TrajectoryBase::printHeader(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void TrajectoryBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
     _stream << _tabs << "Trajectory" << ((_depth < 1) ? (" -- " + std::to_string(getFrameList().size()) + "F") : "")  << std::endl;
 }
-void TrajectoryBase::print(std::string _tabs, int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void TrajectoryBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
 {
-    printHeader(_tabs, _depth, _stream, _constr_by, _metric, _state_blocks);
+    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
     if (_depth >= 1)
         for (auto F : getFrameList())
-            F->print(_tabs + "  ", _depth, _stream, _constr_by, _metric, _state_blocks);
+            F->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
 
 }
 } // namespace wolf
-- 
GitLab