From 2ec5b8de7b7da858209ac5087c033286a4a5f163 Mon Sep 17 00:00:00 2001
From: Mirko Waechter <mirko.waechter@kit.edu>
Date: Tue, 19 Nov 2013 16:44:40 +0100
Subject: [PATCH] Added ForceTorqueUnit slice definition

---
 CMakeLists.txt                            |  1 +
 interface/CMakeLists.txt                  |  7 +++
 interface/slice/units/ForceTorqueUnit.ice | 55 +++++++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 interface/CMakeLists.txt
 create mode 100644 interface/slice/units/ForceTorqueUnit.ice

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 19d6498c2..f178c8c26 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,6 +13,7 @@ include(${ArmarXCore_CMAKE_DIR}/ArmarXProject.cmake)
 armarx_project("RobotAPI")
 
 add_subdirectory(source)
+add_subdirectory(interface)
 
 install_project()
 
diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
new file mode 100644
index 000000000..59c35598d
--- /dev/null
+++ b/interface/CMakeLists.txt
@@ -0,0 +1,7 @@
+###
+### CMakeLists.txt file for ArmarX Interfaces
+###
+
+set(ROBOTAPI_INTERFACE_DEPEND ArmarXCore)
+# generate the interface library
+armarx_interfaces_generate_library(RobotAPI 0.1.0 0 ${ROBOTAPI_INTERFACE_DEPEND})
diff --git a/interface/slice/units/ForceTorqueUnit.ice b/interface/slice/units/ForceTorqueUnit.ice
new file mode 100644
index 000000000..a090ab571
--- /dev/null
+++ b/interface/slice/units/ForceTorqueUnit.ice
@@ -0,0 +1,55 @@
+/*
+ * This file is part of ArmarX.
+ *
+ * ArmarX is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * ArmarX is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @package    ArmarX::Core
+ * @author     Manfred Kroehnert (manfred dot kroehnert at kit dot edu)
+ * @copyright  2013 Manfred Kroehnert
+ * @license    http://www.gnu.org/licenses/gpl.txt
+ *             GNU General Public License
+ */
+
+#ifndef _ARMARX_ROBOTAPI_UNITS_FORCETORQUE_SLICE_
+#define _ARMARX_ROBOTAPI_UNITS_FORCETORQUE_SLICE_
+
+#include <units/UnitInterface.ice>
+#include <core/UserException.ice>
+#include <core/BasicTypes.ice>
+#include <observers/VariantBase.ice>
+#include <robotstate/LinkedPoseBase.ice>
+
+module robotapi
+{
+    dictionary<string, armarx::LinkedPoseBase> LinkedPoseMap;
+    sequence<string> StringMap;
+    interface ForceTorqueUnitInterface extends armarx::SensorActorUnitInterface
+    {
+        void setOffset(LinkedPoseMap forceTorqueOffsets);
+        void setForceTorqueToNull(StringMap sensorNames);
+
+    };
+
+
+
+    interface ForceTorqueUnitListener
+    {
+        void reportForceTorqueRaw(LinkedPoseMap forceTorques);
+        void reportForceTorqueRelativeToOffset(LinkedPoseMap forceTorques);
+
+    };
+
+};
+
+#endif
-- 
GitLab