From 28a5dbdc796e29efb8dbad5d607ba8ed07bdadcc Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Wed, 21 Jul 2021 10:05:17 +0200
Subject: [PATCH] Remove unused stuff, fix includes, use less auto, remove
 unused code

---
 .../RobotStateMemory/RobotStateMemory.cpp     |  17 +--
 .../RobotStateMemory/RobotStateMemory.h       |  24 +----
 .../articulated_object_class/Segment.cpp      |   5 +-
 .../client/localization/TransformWriter.cpp   |   6 --
 .../server/description/Segment.cpp            |   3 +-
 .../server/description/Segment.h              |   8 +-
 .../server/localization/Segment.cpp           | 102 ++----------------
 .../server/localization/Segment.h             |  32 +-----
 .../server/proprioception/Segment.cpp         |  71 +++---------
 .../server/proprioception/Segment.h           |  35 ++----
 10 files changed, 58 insertions(+), 245 deletions(-)

diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
index dd2a56edb..2d548e7c1 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp
@@ -110,8 +110,8 @@ namespace armarx::armem::server::robot_state
         robotUnit.pollFrequency = std::clamp(robotUnit.pollFrequency, 1, ROBOT_UNIT_MAXIMUM_FREQUENCY);
         robotUnit.writer.properties.memoryBatchSize = std::max(static_cast<unsigned int>(1), robotUnit.writer.properties.memoryBatchSize);
 
-        Ice::StringSeq includePaths;
-        auto packages = armarx::Application::GetProjectDependencies();
+        std::vector<std::string> includePaths;
+        std::vector<std::string> packages = armarx::Application::GetProjectDependencies();
         packages.push_back(Application::GetProjectName());
 
         for (const std::string& projectName : packages)
@@ -122,8 +122,8 @@ namespace armarx::armem::server::robot_state
             }
 
             CMakePackageFinder project(projectName);
-            auto pathsString = project.getIncludePaths();
-            Ice::StringSeq projectIncludePaths = simox::alg::split(pathsString, ";,");
+            std::string pathsString = project.getIncludePaths();
+            std::vector<std::string> projectIncludePaths = simox::alg::split(pathsString, ";,");
             includePaths.insert(includePaths.end(), projectIncludePaths.begin(), projectIncludePaths.end());
         }
 
@@ -140,13 +140,14 @@ namespace armarx::armem::server::robot_state
             robotUnit.plugin->waitUntilRobotUnitIsRunning();
         }
         RobotUnitInterfacePrx robotUnitPrx = robotUnit.plugin->getRobotUnit();
-        ARMARX_CHECK_NOT_NULL(robotUnitPrx->getKinematicUnit());
+        ARMARX_CHECK_NOT_NULL(robotUnitPrx->getKinematicUnit())
+                << "Robot unit '" << robotUnit.plugin->getRobotUnitName() << "' must have a kinematic unit.";
 
-        descriptionSegment.connect(getArvizClient(), robotUnitPrx);
+        descriptionSegment.connect(robotUnitPrx);
 
-        proprioceptionSegment.connect(getArvizClient(), robotUnitPrx);
+        proprioceptionSegment.connect(robotUnitPrx);
 
-        localizationSegment.connect(getArvizClient());
+        localizationSegment.connect();
 
         commonVisu.connect(getArvizClient());
 
diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
index d249678b6..390483349 100644
--- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
+++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.h
@@ -26,18 +26,11 @@
 #include <atomic>
 #include <optional>
 #include <queue>
-#include <thread>
-
-// Simox
-#include <SimoxUtility/meta/enum/adapt_enum.h>
 
 // ArmarX
 #include <ArmarXCore/core/Component.h>
-#include <ArmarXCore/core/services/tasks/RunningTask.h>
-
-// BaseClass
-#include "RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h"
 
+#include <RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h>
 #include <RobotAPI/libraries/RobotUnitDataStreamingReceiver/RobotUnitDataStreamingReceiver.h>
 #include <RobotAPI/libraries/armem/server/ComponentPlugin.h>
 
@@ -80,26 +73,19 @@ namespace armarx::armem::server::robot_state
         RobotStateMemory();
         virtual ~RobotStateMemory() override;
 
-        /// @see armarx::ManagedIceObject::getDefaultName()
+
         std::string getDefaultName() const override;
 
+
     protected:
 
-        /// @see armarx::ManagedIceObject::onInitComponent()
-        void onInitComponent() override;
+        armarx::PropertyDefinitionsPtr createPropertyDefinitions() override;
 
-        /// @see armarx::ManagedIceObject::onConnectComponent()
+        void onInitComponent() override;
         void onConnectComponent() override;
-
-        /// @see armarx::ManagedIceObject::onDisconnectComponent()
         void onDisconnectComponent() override;
-
-        /// @see armarx::ManagedIceObject::onExitComponent()
         void onExitComponent() override;
 
-        /// @see PropertyUser::createPropertyDefinitions()
-        armarx::PropertyDefinitionsPtr createPropertyDefinitions() override;
-
 
     private:
 
diff --git a/source/RobotAPI/libraries/armem_objects/server/articulated_object_class/Segment.cpp b/source/RobotAPI/libraries/armem_objects/server/articulated_object_class/Segment.cpp
index 425b5af02..354ac2efc 100644
--- a/source/RobotAPI/libraries/armem_objects/server/articulated_object_class/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_objects/server/articulated_object_class/Segment.cpp
@@ -57,11 +57,12 @@ namespace armarx::armem::server::obj::articulated_object_class
         }
     }
 
-    void Segment::connect(viz::Client arviz)
+
+    void Segment::connect()
     {
-        // this->visu = std::make_unique<Visu>(arviz, *this);
     }
 
+
     void Segment::loadByObjectFinder(const std::string& package)
     {
         ObjectFinder finder(package);
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformWriter.cpp b/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformWriter.cpp
index 47660fc43..676a83e72 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformWriter.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/localization/TransformWriter.cpp
@@ -149,10 +149,4 @@ namespace armarx::armem::client::robot_state::localization
         return updateResult.success;
     }
 
-    // const std::string& TransformWriter::getPropertyPrefix() const
-    // {
-    //     return propertyPrefix;
-    // }
-
-
 }  // namespace armarx::armem::client::robot_state::localization
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
index 370f6f55b..8c8d1fcac 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
@@ -63,9 +63,8 @@ namespace armarx::armem::server::robot_state::description
     }
 
 
-    void Segment::connect(const viz::Client& arviz, const RobotUnitInterfacePrx& robotUnitPrx)
+    void Segment::connect(const RobotUnitInterfacePrx& robotUnitPrx)
     {
-        // this->visu = std::make_unique<Visu>(arviz, *this);
         robotUnit = robotUnitPrx;
 
         // store the robot description linked to the robot unit in this segment
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
index 073c40230..2411180a3 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
@@ -21,7 +21,6 @@
 
 #pragma once
 
-#include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
 #include <string>
 #include <optional>
 #include <mutex>
@@ -30,8 +29,7 @@
 #include <ArmarXCore/core/logging/Logging.h>
 #include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h>
 
-#include <RobotAPI/components/ArViz/Client/Client.h>
-
+#include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
 #include <RobotAPI/libraries/armem/core/MemoryID.h>
 #include <RobotAPI/libraries/armem_objects/types.h>
 
@@ -52,8 +50,6 @@ namespace armarx::armem
 
 namespace armarx::armem::server::robot_state::description
 {
-    class Visu;
-
     class Segment : public armarx::Logging
     {
     public:
@@ -63,7 +59,7 @@ namespace armarx::armem::server::robot_state::description
 
         void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix = "");
         void init();
-        void connect(const viz::Client& arviz, const RobotUnitInterfacePrx& robotUnitPrx);
+        void connect(const RobotUnitInterfacePrx& robotUnitPrx);
 
         std::mutex& mutex() const;
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
index d2c02be7e..75d412a20 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.cpp
@@ -1,7 +1,6 @@
 #include "Segment.h"
 
 // STL
-
 #include <iterator>
 #include <sstream>
 
@@ -12,6 +11,8 @@
 #include <Eigen/Core>
 #include <Eigen/Geometry>
 
+#include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h>
+#include <ArmarXCore/core/application/properties/PluginAll.h>
 #include <ArmarXCore/core/logging/Logging.h>
 #include <ArmarXCore/core/time/TimeUtil.h>
 
@@ -36,6 +37,7 @@
 #include <RobotAPI/libraries/armem_robot_state/common/localization/TransformHelper.h>
 #include <RobotAPI/libraries/armem_robot_state/common/localization/types.h>
 
+
 namespace armarx::armem::server::robot_state::localization
 {
 
@@ -65,16 +67,13 @@ namespace armarx::armem::server::robot_state::localization
         ARMARX_CHECK_NOT_NULL(iceMemory.workingMemory);
 
         ARMARX_INFO << "Adding core segment '" << p.coreSegment << "'";
-
-        coreSegment = &iceMemory.workingMemory->addCoreSegment(
-                          p.coreSegment, arondto::Transform::toAronType());
+        coreSegment = &iceMemory.workingMemory->addCoreSegment(p.coreSegment, arondto::Transform::toAronType());
         coreSegment->setMaxHistorySize(p.maxHistorySize);
     }
 
 
-    void Segment::connect(viz::Client arviz)
+    void Segment::connect()
     {
-        // this->visu = std::make_unique<Visu>(arviz, *this);
     }
 
 
@@ -101,20 +100,15 @@ namespace armarx::armem::server::robot_state::localization
 
         RobotFramePoseMap frames;
 
-        const auto& localizationCoreSegment =
-            iceMemory.workingMemory->getCoreSegment(p.coreSegment);
-        const auto knownRobots = simox::alg::get_keys(localizationCoreSegment);
-
+        const auto knownRobots = simox::alg::get_keys(*coreSegment);
         for (const auto& robotName : knownRobots)
         {
-
             TransformQuery query{.header{.parentFrame = GlobalFrame,
                                          .frame       = "root", // TODO, FIXME
                                          .agent       = robotName,
                                          .timestamp   = timestamp}};
 
-            const auto result = TransformHelper::lookupTransformChain(localizationCoreSegment, query);
-
+            const auto result = TransformHelper::lookupTransformChain(*coreSegment, query);
             if (not result)
             {
                 // TODO
@@ -142,17 +136,14 @@ namespace armarx::armem::server::robot_state::localization
     Segment::RobotPoseMap
     Segment::getRobotGlobalPoses(const armem::Time& timestamp) const
     {
-
         using common::robot_state::localization::TransformHelper;
         using common::robot_state::localization::TransformQuery;
 
         RobotPoseMap robotGlobalPoses;
 
-        const auto& localizationCoreSegment =
-            iceMemory.workingMemory->getCoreSegment(p.coreSegment);
-        const auto knownRobots = simox::alg::get_keys(localizationCoreSegment);
+        const std::vector<std::string> knownRobots = simox::alg::get_keys(*coreSegment);
 
-        for (const auto& robotName : knownRobots)
+        for (const std::string& robotName : knownRobots)
         {
 
             TransformQuery query{.header{.parentFrame = GlobalFrame,
@@ -160,8 +151,7 @@ namespace armarx::armem::server::robot_state::localization
                                          .agent       = robotName,
                                          .timestamp   = timestamp}};
 
-            const auto result = TransformHelper::lookupTransform(localizationCoreSegment, query);
-
+            const auto result = TransformHelper::lookupTransform(*coreSegment, query);
             if (not result)
             {
                 // TODO
@@ -171,7 +161,7 @@ namespace armarx::armem::server::robot_state::localization
             robotGlobalPoses.emplace(robotName, result.transform.transform);
         }
 
-        ARMARX_INFO << deactivateSpam(10)
+        ARMARX_INFO << deactivateSpam(60)
                     << "Number of known robot poses: " << robotGlobalPoses.size();
 
         return robotGlobalPoses;
@@ -204,74 +194,4 @@ namespace armarx::armem::server::robot_state::localization
         return result.allSuccess();
     }
 
-    // std::unordered_map<armem::MemoryID, ::armarx::armem::articulated_object::ArticulatedObjectDescription> Segment::getKnownObjectClasses() const
-    // {
-    //     std::unordered_map<armem::MemoryID, ::armarx::armem::articulated_object::ArticulatedObjectDescription> objects;
-
-    //     for (const auto& [_, provSeg] : iceMemory.workingMemory->getCoreSegment(p.coreClassSegmentName))
-    //     {
-    //         for (const auto& [name, entity] :  provSeg.entities())
-    //         {
-    //             const auto& entityInstance = entity.getLatestSnapshot().getInstance(0);
-    //             const auto description = articulated_object::convertRobotDescription(entityInstance);
-
-    //             if (not description)
-    //             {
-    //                 ARMARX_WARNING << "Could not convert entity instance to 'RobotDescription'";
-    //                 continue;
-    //             }
-
-    //             ARMARX_INFO << "Key is " << armem::MemoryID(entity.id());
-
-    //             objects.emplace(armem::MemoryID(entity.id()), *description);
-    //         }
-    //     }
-
-    //     ARMARX_IMPORTANT << "Number of known articulated object classes: " << objects.size();
-
-    //     return objects;
-    // }
-
-    // void Segment::RemoteGui::setup(const Segment& data)
-    // {
-    //     using namespace armarx::RemoteGui::Client;
-
-    //     maxHistorySize.setValue(std::max(1, int(data.p.maxHistorySize)));
-    //     maxHistorySize.setRange(1, 1e6);
-    //     infiniteHistory.setValue(data.p.maxHistorySize == -1);
-    //     discardSnapshotsWhileAttached.setValue(data.p.discardSnapshotsWhileAttached);
-
-    //     GridLayout grid;
-    //     int row = 0;
-    //     grid.add(Label("Max History Size"), {row, 0}).add(maxHistorySize, {row, 1});
-    //     row++;
-    //     grid.add(Label("Infinite History Size"), {row, 0}).add(infiniteHistory, {row, 1});
-    //     row++;
-    //     grid.add(Label("Discard Snapshots while Attached"), {row, 0}).add(discardSnapshotsWhileAttached, {row, 1});
-    //     row++;
-
-    //     group.setLabel("Data");
-    //     group.addChild(grid);
-    // }
-
-    // void Segment::RemoteGui::update(Segment& data)
-    // {
-    //     if (infiniteHistory.hasValueChanged() || maxHistorySize.hasValueChanged()
-    //         || discardSnapshotsWhileAttached.hasValueChanged())
-    //     {
-    //         std::scoped_lock lock(data.memoryMutex);
-
-    //         if (infiniteHistory.hasValueChanged() || maxHistorySize.hasValueChanged())
-    //         {
-    //             data.p.maxHistorySize = infiniteHistory.getValue() ? -1 : maxHistorySize.getValue();
-    //             if (data.coreSegment)
-    //             {
-    //                 data.coreSegment->setMaxHistorySize(long(data.p.maxHistorySize));
-    //             }
-    //         }
-
-    //         data.p.discardSnapshotsWhileAttached = discardSnapshotsWhileAttached.getValue();
-    //     }
-    // }
-
 } // namespace armarx::armem::server::robot_state::localization
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.h
index 4bc4e607b..d1ce5de22 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.h
+++ b/source/RobotAPI/libraries/armem_robot_state/server/localization/Segment.h
@@ -27,17 +27,13 @@
 #include <unordered_map>
 
 #include <ArmarXCore/core/logging/Logging.h>
-#include "ArmarXCore/core/application/properties/PropertyDefinitionContainer.h"
-
-// #include "ArmarXGui/libraries/RemoteGui/Client/Widgets.h"
-
-#include "RobotAPI/components/ArViz/Client/Client.h"
-
-#include "RobotAPI/libraries/armem/core/MemoryID.h"
-#include "RobotAPI/libraries/armem_objects/types.h"
+#include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h>
 
+#include <RobotAPI/libraries/armem/core/MemoryID.h>
+#include <RobotAPI/libraries/armem_objects/types.h>
 #include <RobotAPI/libraries/armem_robot_state/types.h>
 
+
 namespace armarx::armem
 {
     namespace server
@@ -54,8 +50,6 @@ namespace armarx::armem
 
 namespace armarx::armem::server::robot_state::localization
 {
-    class Visu;
-
     class Segment : public armarx::Logging
     {
     public:
@@ -71,7 +65,7 @@ namespace armarx::armem::server::robot_state::localization
 
         void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix = "");
         void init();
-        void connect(viz::Client arviz);
+        void connect();
 
         std::mutex& mutex() const;
 
@@ -95,22 +89,6 @@ namespace armarx::armem::server::robot_state::localization
         };
         Properties p;
 
-        // std::unique_ptr<Visu> visu;
-
-    public:
-
-        // struct RemoteGui
-        // {
-        //     armarx::RemoteGui::Client::GroupBox group;
-
-        //     armarx::RemoteGui::Client::IntSpinBox maxHistorySize;
-        //     armarx::RemoteGui::Client::CheckBox infiniteHistory;
-        //     armarx::RemoteGui::Client::CheckBox discardSnapshotsWhileAttached;
-
-        //     void setup(const Segment& data);
-        //     void update(Segment& data);
-        // };
-
     };
 
 }  // namespace armarx::armem::server::robot_state::localization
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
index 6885f5b0f..043774b77 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
@@ -1,13 +1,13 @@
 #include "Segment.h"
 
-#include <mutex>
 #include <sstream>
 
-#include <ArmarXCore/core/time/TimeUtil.h>
+#include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h>
 #include <ArmarXCore/core/logging/Logging.h>
+#include <ArmarXCore/core/time/TimeUtil.h>
 
-#include <RobotAPI/libraries/armem_robot_state/types.h>
 #include <RobotAPI/libraries/aron/common/aron_conversions.h>
+#include <RobotAPI/libraries/armem_robot_state/types.h>
 
 #include <RobotAPI/libraries/armem/core/aron_conversions.h>
 #include <RobotAPI/libraries/armem/core/workingmemory/visitor.h>
@@ -16,6 +16,7 @@
 #include <RobotAPI/libraries/armem/client/query/Builder.h>
 #include <RobotAPI/libraries/armem/client/query/query_fns.h>
 #include <RobotAPI/libraries/armem/server/MemoryToIceAdapter.h>
+#include <RobotAPI/libraries/armem/util/util.h>
 
 #include <RobotAPI/libraries/armem_robot/robot_conversions.h>
 #include <RobotAPI/libraries/armem_robot/aron/Robot.aron.generated.h>
@@ -23,7 +24,6 @@
 
 #include <RobotAPI/libraries/armem_objects/aron_conversions.h>
 
-#include <RobotAPI/libraries/armem/util/util.h>
 
 
 namespace armarx::armem::server::robot_state::proprioception
@@ -40,8 +40,8 @@ namespace armarx::armem::server::robot_state::proprioception
 
     void Segment::defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix)
     {
-        defs->optional(p.coreSegment, prefix + "seg.proprioception.CoreSegment", "Name of the object instance core segment.");
-        defs->optional(p.maxHistorySize, prefix + "seg.proprioception.MaxHistorySize", "Maximal size of object poses history (-1 for infinite).");
+        defs->optional(p.coreSegmentName, prefix + "seg.proprioception.CoreSegment", "Name of the proprioception core segment.");
+        defs->optional(p.maxHistorySize, prefix + "seg.proprioception.MaxHistorySize", "Maximal size of proprioception entity histories (-1 for infinite).");
     }
 
 
@@ -49,18 +49,19 @@ namespace armarx::armem::server::robot_state::proprioception
     {
         ARMARX_CHECK_NOT_NULL(iceMemory.workingMemory);
 
-        ARMARX_INFO << "Adding core segment '" <<  p.coreSegment << "'";
-        coreSegment = &iceMemory.workingMemory->addCoreSegment(p.coreSegment);
+        ARMARX_INFO << "Adding core segment '" <<  p.coreSegmentName << "'";
+        coreSegment = &iceMemory.workingMemory->addCoreSegment(p.coreSegmentName);
         coreSegment->setMaxHistorySize(p.maxHistorySize);
     }
 
 
-    void Segment::connect(viz::Client arviz, RobotUnitInterfacePrx robotUnitPrx)
+    void Segment::connect(RobotUnitInterfacePrx robotUnitPrx)
     {
-        robotUnit = robotUnitPrx;
+        this->robotUnit = robotUnitPrx;
 
-        auto kinematicUnit = robotUnit->getKinematicUnit();
-        const auto providerSegmentName = kinematicUnit->getRobotName();
+        KinematicUnitInterfacePrx kinematicUnit = robotUnit->getKinematicUnit();
+        const std::string providerSegmentName = kinematicUnit->getRobotName();
+        this->robotUnitProviderID = coreSegment->id().withProviderSegmentName(providerSegmentName);
 
         // TODO what is the purpose?
         auto encoderEntryType = std::make_shared<aron::typenavigator::ObjectNavigator>("RobotUnitEncoderEntry");
@@ -150,6 +151,7 @@ namespace armarx::armem::server::robot_state::proprioception
                     }
                     else
                     {
+                        // This may happen, just ignore it.
                         // ARMARX_WARNING << "Could not convert entity instance to 'JointState'";
                     }
                     TIMING_END_COMMENT_STREAM(tEmplace, "tEmplace " + std::to_string(i), ARMARX_VERBOSE);
@@ -172,53 +174,10 @@ namespace armarx::armem::server::robot_state::proprioception
         return jointMap;
     }
 
+
     const armem::MemoryID& Segment::getRobotUnitProviderID() const
     {
         return robotUnitProviderID;
     }
 
-
-
-    // void Segment::RemoteGui::setup(const Segment& data)
-    // {
-    //     using namespace armarx::RemoteGui::Client;
-
-    //     maxHistorySize.setValue(std::max(1, int(data.p.maxHistorySize)));
-    //     maxHistorySize.setRange(1, 1e6);
-    //     infiniteHistory.setValue(data.p.maxHistorySize == -1);
-    //     discardSnapshotsWhileAttached.setValue(data.p.discardSnapshotsWhileAttached);
-
-    //     GridLayout grid;
-    //     int row = 0;
-    //     grid.add(Label("Max History Size"), {row, 0}).add(maxHistorySize, {row, 1});
-    //     row++;
-    //     grid.add(Label("Infinite History Size"), {row, 0}).add(infiniteHistory, {row, 1});
-    //     row++;
-    //     grid.add(Label("Discard Snapshots while Attached"), {row, 0}).add(discardSnapshotsWhileAttached, {row, 1});
-    //     row++;
-
-    //     group.setLabel("Data");
-    //     group.addChild(grid);
-    // }
-
-    // void Segment::RemoteGui::update(Segment& data)
-    // {
-    //     if (infiniteHistory.hasValueChanged() || maxHistorySize.hasValueChanged()
-    //         || discardSnapshotsWhileAttached.hasValueChanged())
-    //     {
-    //         std::scoped_lock lock(data.memoryMutex);
-
-    //         if (infiniteHistory.hasValueChanged() || maxHistorySize.hasValueChanged())
-    //         {
-    //             data.p.maxHistorySize = infiniteHistory.getValue() ? -1 : maxHistorySize.getValue();
-    //             if (data.coreSegment)
-    //             {
-    //                 data.coreSegment->setMaxHistorySize(long(data.p.maxHistorySize));
-    //             }
-    //         }
-
-    //         data.p.discardSnapshotsWhileAttached = discardSnapshotsWhileAttached.getValue();
-    //     }
-    // }
-
 }  // namespace armarx::armem::server::robot_state::proprioception
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
index 10f7297a7..abc827c90 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
@@ -21,21 +21,19 @@
 
 #pragma once
 
-#include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
 #include <string>
 #include <optional>
 #include <mutex>
 #include <unordered_map>
 
 #include <ArmarXCore/core/logging/Logging.h>
-#include "ArmarXCore/core/application/properties/PropertyDefinitionContainer.h"
-
-// #include "ArmarXGui/libraries/RemoteGui/Client/Widgets.h"
+#include <ArmarXCore/core/application/properties/forward_declarations.h>
 
-#include "RobotAPI/components/ArViz/Client/Client.h"
+#include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
+#include <RobotAPI/components/ArViz/Client/Client.h>
+#include <RobotAPI/libraries/armem/core/MemoryID.h>
+#include <RobotAPI/libraries/armem_objects/types.h>
 
-#include "RobotAPI/libraries/armem/core/MemoryID.h"
-#include "RobotAPI/libraries/armem_objects/types.h"
 
 namespace armarx::armem
 {
@@ -53,8 +51,6 @@ namespace armarx::armem
 
 namespace armarx::armem::server::robot_state::proprioception
 {
-    class Visu;
-
     class Segment : public armarx::Logging
     {
     public:
@@ -68,7 +64,7 @@ namespace armarx::armem::server::robot_state::proprioception
 
         void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix = "");
         void init();
-        void connect(viz::Client arviz, RobotUnitInterfacePrx robotUnitPrx);
+        void connect(RobotUnitInterfacePrx robotUnitPrx);
 
         std::mutex& mutex() const;
 
@@ -85,32 +81,15 @@ namespace armarx::armem::server::robot_state::proprioception
         wm::CoreSegment* coreSegment = nullptr;
 
         RobotUnitInterfacePrx robotUnit;
-
         armem::MemoryID robotUnitProviderID;
 
         struct Properties
         {
-            std::string coreSegment = "Proprioception";
+            std::string coreSegmentName = "Proprioception";
             int64_t maxHistorySize = 1000;
         };
         Properties p;
 
-        // std::unique_ptr<Visu> visu;
-
-    public:
-
-        // struct RemoteGui
-        // {
-        //     armarx::RemoteGui::Client::GroupBox group;
-
-        //     armarx::RemoteGui::Client::IntSpinBox maxHistorySize;
-        //     armarx::RemoteGui::Client::CheckBox infiniteHistory;
-        //     armarx::RemoteGui::Client::CheckBox discardSnapshotsWhileAttached;
-
-        //     void setup(const Segment& data);
-        //     void update(Segment& data);
-        // };
-
     };
 
 }  // namespace armarx::armem::server::robot_state::proprioception
-- 
GitLab