From 0cef6ecf56761a40391c544781ef7d3f4ee95c05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Sat, 11 Apr 2020 00:19:41 +0200
Subject: [PATCH] Add composite vector getters to ProcMotion

---
 include/core/processor/processor_motion.h | 10 +++++-----
 src/processor/processor_motion.cpp        | 13 +++++++++----
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h
index d4a8662dd..2340cd8fc 100644
--- a/include/core/processor/processor_motion.h
+++ b/include/core/processor/processor_motion.h
@@ -136,11 +136,6 @@ class ProcessorMotion : public ProcessorBase, public IsMotion
 
 
 
-        // TODO move somewhere below
-        virtual bool  getStateComposite(VectorComposite& _state) const override;
-        virtual bool  getStateComposite(const TimeStamp& _ts, VectorComposite& _state) const override;
-        using IsMotion::getStateComposite;
-
 
 
 
@@ -174,6 +169,11 @@ class ProcessorMotion : public ProcessorBase, public IsMotion
 
         // Queries to the processor:
 
+        virtual bool  getVectorComposite(VectorComposite& _state) const override;
+        virtual bool  getVectorComposite(const TimeStamp& _ts, VectorComposite& _state) const override;
+        using IsMotion::getVectorComposite;
+
+
         /** \brief Fill a reference to the state integrated so far
          * \param _x the returned state vector
          */
diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index 4b34d5430..b31ae1e1b 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -398,16 +398,21 @@ bool ProcessorMotion::getState(const TimeStamp& _ts, Eigen::VectorXd& _x) const
     return true;
 }
 
-bool ProcessorMotion::getStateComposite(VectorComposite& _state) const
+bool ProcessorMotion::getVectorComposite(VectorComposite& _state) const
 {
     // TODO implement this
     if (last_ptr_ && last_ptr_->getFrame())
-        return getLast()->getFrame()->getVectorComposite(_state);
+        return last_ptr_->getFrame()->getVectorComposite(_state);
+
     else
-        return false;
+        if (origin_ptr_ && origin_ptr_->getFrame())
+            return origin_ptr_->getFrame()->getVectorComposite(_state);
+
+        else
+            return false;
 }
 
-bool ProcessorMotion::getStateComposite(const TimeStamp& _ts, VectorComposite& _state) const
+bool ProcessorMotion::getVectorComposite(const TimeStamp& _ts, VectorComposite& _state) const
 {
     // TODO implement this
     if (last_ptr_ && last_ptr_->getFrame())
-- 
GitLab