From 737549acdf16412af11a05278af4cf9a322a9b28 Mon Sep 17 00:00:00 2001
From: Mirko Waechter <waechter@kit.edu>
Date: Mon, 9 Mar 2015 15:03:42 +0100
Subject: [PATCH] added approx checks to some observers

---
 source/RobotAPI/components/units/ForceTorqueObserver.cpp   | 2 ++
 source/RobotAPI/components/units/KinematicUnitObserver.cpp | 2 ++
 source/RobotAPI/components/units/PlatformUnitObserver.cpp  | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/source/RobotAPI/components/units/ForceTorqueObserver.cpp b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
index 37e0fd9a6..eacf0be23 100644
--- a/source/RobotAPI/components/units/ForceTorqueObserver.cpp
+++ b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
@@ -5,6 +5,7 @@
 #include <Core/observers/checks/ConditionCheckInRange.h>
 #include <Core/observers/checks/ConditionCheckLarger.h>
 #include <Core/observers/checks/ConditionCheckSmaller.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 #include <RobotAPI/libraries/core/checks/ConditionCheckMagnitudeChecks.h>
 #include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h>
 #include <Core/observers/variant/DatafieldRef.h>
@@ -44,6 +45,7 @@ void ForceTorqueObserver::onInitObserver()
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("smaller", new ConditionCheckSmaller());
     offerConditionCheck("magnitudeinrange", new ConditionCheckMagnitudeInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("magnitudelarger", new ConditionCheckMagnitudeLarger());
     offerConditionCheck("magnitudesmaller", new ConditionCheckMagnitudeSmaller());
 
diff --git a/source/RobotAPI/components/units/KinematicUnitObserver.cpp b/source/RobotAPI/components/units/KinematicUnitObserver.cpp
index c504e9f4d..eb20b239d 100644
--- a/source/RobotAPI/components/units/KinematicUnitObserver.cpp
+++ b/source/RobotAPI/components/units/KinematicUnitObserver.cpp
@@ -36,6 +36,7 @@
 #include <VirtualRobot/XML/RobotIO.h>
 #include <VirtualRobot/RobotNodeSet.h>
 #include <VirtualRobot/Nodes/RobotNode.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 
 using namespace armarx;
 
@@ -51,6 +52,7 @@ void KinematicUnitObserver::onInitObserver()
     offerConditionCheck("updated", new ConditionCheckUpdated());
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("inrange", new ConditionCheckInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("larger", new ConditionCheckLarger());
     offerConditionCheck("smaller", new ConditionCheckSmaller());
 
diff --git a/source/RobotAPI/components/units/PlatformUnitObserver.cpp b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
index c0e9aeea7..c0a6930a7 100644
--- a/source/RobotAPI/components/units/PlatformUnitObserver.cpp
+++ b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
@@ -31,6 +31,7 @@
 #include <Core/observers/checks/ConditionCheckLarger.h>
 #include <Core/observers/checks/ConditionCheckSmaller.h>
 #include <Core/observers/checks/ConditionCheckValid.h>
+#include <Core/observers/checks/ConditionCheckEqualsWithTolerance.h>
 
 
 using namespace armarx;
@@ -49,6 +50,7 @@ void PlatformUnitObserver::onInitObserver()
     offerConditionCheck("updated", new ConditionCheckUpdated());
     offerConditionCheck("equals", new ConditionCheckEquals());
     offerConditionCheck("inrange", new ConditionCheckInRange());
+    offerConditionCheck("approx", new ConditionCheckEqualsWithTolerance());
     offerConditionCheck("larger", new ConditionCheckLarger());
     offerConditionCheck("smaller", new ConditionCheckSmaller());
 
-- 
GitLab