From 80509a844df5ab3d933c362663af6cd7a3ac3996 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Fri, 7 Jan 2022 13:38:08 +0100
Subject: [PATCH] core: trajectory method: duration

---
 source/armarx/navigation/core/Trajectory.cpp | 10 ++++++++++
 source/armarx/navigation/core/Trajectory.h   |  4 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/source/armarx/navigation/core/Trajectory.cpp b/source/armarx/navigation/core/Trajectory.cpp
index cfacb438..de68a826 100644
--- a/source/armarx/navigation/core/Trajectory.cpp
+++ b/source/armarx/navigation/core/Trajectory.cpp
@@ -26,6 +26,7 @@
 #include <VirtualRobot/math/Helpers.h>
 #include <VirtualRobot/math/LinearInterpolatedPose.h>
 
+#include "ArmarXCore/core/exceptions/LocalException.h"
 #include "ArmarXCore/core/exceptions/local/ExpressionException.h"
 #include <ArmarXCore/core/logging/Logging.h>
 
@@ -566,4 +567,13 @@ namespace armarx::navigation::core
     {
         return pts;
     }
+
+
+    float
+    Trajectory::duration(const core::VelocityInterpolation interpolation) const
+    {
+        throw LocalException("not implemented yet");
+        return 0; // FIXME
+    }
+
 } // namespace armarx::navigation::core
diff --git a/source/armarx/navigation/core/Trajectory.h b/source/armarx/navigation/core/Trajectory.h
index b1c727f3..4183d1cc 100644
--- a/source/armarx/navigation/core/Trajectory.h
+++ b/source/armarx/navigation/core/Trajectory.h
@@ -32,7 +32,7 @@ namespace armarx::navigation::core
     struct TrajectoryPoint
     {
         Waypoint waypoint;
-        float velocity;
+        float velocity; // [mm/s]
     };
 
     using TrajectoryPoints = std::vector<TrajectoryPoint>;
@@ -97,6 +97,8 @@ namespace armarx::navigation::core
 
         const std::vector<TrajectoryPoint>& points() const;
 
+        float duration(core::VelocityInterpolation interpolation) const;
+
     private:
         std::vector<TrajectoryPoint> pts;
     };
-- 
GitLab