From 5c1a657c04fdb495d49cf670ecba436f8713dbba Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Sun, 29 Jan 2023 14:23:08 +0100
Subject: [PATCH] DiffIK / Jacobian: adding cases & todos

---
 VirtualRobot/IK/DifferentialIK.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/VirtualRobot/IK/DifferentialIK.cpp b/VirtualRobot/IK/DifferentialIK.cpp
index 39d4ee310..6ed0eb838 100644
--- a/VirtualRobot/IK/DifferentialIK.cpp
+++ b/VirtualRobot/IK/DifferentialIK.cpp
@@ -6,6 +6,8 @@
 #include "../Nodes/RobotNodeRevolute.h"
 #include "../VirtualRobotException.h"
 #include "../CollisionDetection/CollisionChecker.h"
+#include "Nodes/RobotNodeFourBar.h"
+#include "Nodes/RobotNodeHemisphere.h"
 
 #include <Eigen/Geometry>
 
@@ -443,6 +445,17 @@ namespace VirtualRobot
 
                     // no orientation part required with prismatic joints
                 }
+                else if (dof->isHemisphereJoint())
+                {
+                    const RobotNodeHemisphere* hemisphere = dynamic_cast<RobotNodeHemisphere*>(dof.get());
+                    // FIXME implement
+                }
+                else if (dof->isFourBarJoint())
+                {
+                    const RobotNodeFourBar* fourBarJoint = dynamic_cast<RobotNodeFourBar*>(dof.get());
+                    // FIXME implement
+                }
+
             }
 
 #ifdef CHECK_PERFORMANCE
-- 
GitLab