From f19c228698c2ecf489e64842f58cdf9a93f2871b Mon Sep 17 00:00:00 2001 From: "fabian.peller-konrad@kit.edu" <fabian.peller-konrad@kit.edu> Date: Mon, 26 Apr 2021 18:22:01 +0200 Subject: [PATCH] renamed stuff, added namespaces to base classes, shortened namespaces of memories, fixed robotsensormemory memory name --- .../ArMemExample/config/ExampleMemory.cfg | 8 - .../ExampleMemoryClient.cpp | 18 +- .../ExampleMemoryClient/ExampleMemoryClient.h | 4 +- .../ExampleMemory/test/ExampleMemoryTest.cpp | 6 +- .../RobotSensorMemory/RobotSensorMemory.cpp | 6 +- .../RobotSensorMemory/RobotSensorMemory.h | 3 +- .../RobotAPI/libraries/armem/CMakeLists.txt | 210 +++++++++--------- .../RobotAPI/libraries/armem/client/Query.cpp | 2 +- .../RobotAPI/libraries/armem/client/Query.h | 6 +- .../RobotAPI/libraries/armem/client/Reader.h | 6 +- .../RobotAPI/libraries/armem/client/Writer.h | 2 +- .../armem/client/query/selectors.cpp | 2 +- source/RobotAPI/libraries/armem/core.h | 15 +- source/RobotAPI/libraries/armem/core/Commit.h | 1 - .../{CoreSegment.cpp => CoreSegmentBase.cpp} | 0 .../base/{CoreSegment.h => CoreSegmentBase.h} | 22 +- .../core/base/{Entity.cpp => EntityBase.cpp} | 0 .../core/base/{Entity.h => EntityBase.h} | 27 ++- ...ityInstance.cpp => EntityInstanceBase.cpp} | 0 ...{EntityInstance.h => EntityInstanceBase.h} | 20 +- ...itySnapshot.cpp => EntitySnapshotBase.cpp} | 0 ...{EntitySnapshot.h => EntitySnapshotBase.h} | 13 +- .../core/base/{Memory.cpp => MemoryBase.cpp} | 0 .../core/base/{Memory.h => MemoryBase.h} | 22 +- ...derSegment.cpp => ProviderSegmentBase.cpp} | 0 ...roviderSegment.h => ProviderSegmentBase.h} | 17 +- .../core/base/detail/EntityContainer.cpp | 10 - .../detail/EntityContainerBase.cpp} | 0 ...ntityContainer.h => EntityContainerBase.h} | 31 +-- .../armem/core/base/detail/MaxHistorySize.cpp | 2 +- .../armem/core/base/detail/MaxHistorySize.h | 2 +- .../core/base/detail/MemoryContainer.cpp | 7 - .../core/base/detail/MemoryContainerBase.cpp | 0 ...emoryContainer.h => MemoryContainerBase.h} | 12 +- .../armem/core/base/detail/MemoryItem.h | 2 +- .../base/detail/TypedEntityContainerBase.cpp | 0 ...Container.h => TypedEntityContainerBase.h} | 33 +-- .../armem/core/base/ice_conversions.cpp | 130 ----------- .../armem/core/base/ice_conversions.h | 35 --- .../CoreSegment.cpp | 38 ++-- .../{diskMemory => diskmemory}/CoreSegment.h | 19 +- .../{diskMemory => diskmemory}/Entity.cpp | 26 +-- .../core/{diskMemory => diskmemory}/Entity.h | 16 +- .../EntityInstance.cpp | 32 +-- .../EntityInstance.h | 19 +- .../EntitySnapshot.cpp | 22 +- .../EntitySnapshot.h | 16 +- .../{diskMemory => diskmemory}/Memory.cpp | 24 +- .../core/{diskMemory => diskmemory}/Memory.h | 17 +- .../ProviderSegment.cpp | 40 ++-- .../ProviderSegment.h | 19 +- .../detail/TypedEntityContainer.h | 14 +- .../libraries/armem/core/ice_conversions.cpp | 4 +- .../libraries/armem/core/ice_conversions.h | 4 +- .../armem/core/ice_conversions_templates.h | 39 ++-- .../CoreSegment.cpp | 26 +-- .../CoreSegment.h | 17 +- .../Entity.cpp | 16 +- .../Entity.h | 16 +- .../EntityInstance.cpp | 10 +- .../EntityInstance.h | 15 +- .../EntitySnapshot.cpp | 12 +- .../EntitySnapshot.h | 16 +- .../Memory.cpp | 14 +- .../Memory.h | 17 +- .../ProviderSegment.cpp | 26 +-- .../ProviderSegment.h | 17 +- .../mongodb/MongoDBConnectionManager.h | 4 +- .../workingMemory/detail/MemoryContainer.cpp | 7 - .../core/workingMemory/ice_conversions.h | 36 --- .../CoreSegment.cpp | 20 +- .../CoreSegment.h | 11 +- .../Entity.cpp | 10 +- .../{workingMemory => workingmemory}/Entity.h | 10 +- .../EntityInstance.cpp | 6 +- .../EntityInstance.h | 9 +- .../EntitySnapshot.cpp | 6 +- .../EntitySnapshot.h | 10 +- .../Memory.cpp | 6 +- .../{workingMemory => workingmemory}/Memory.h | 11 +- .../ProviderSegment.cpp | 20 +- .../ProviderSegment.h | 11 +- .../workingmemory/detail/EntityContainer.cpp | 0 .../detail/EntityContainer.h | 10 +- .../workingmemory/detail/MemoryContainer.cpp | 0 .../detail/MemoryContainer.h | 18 +- .../detail/TypedEntityContainer.cpp | 0 .../detail/TypedEntityContainer.h | 10 +- .../ice_conversions.cpp | 28 +-- .../core/workingmemory/ice_conversions.h | 36 +++ .../armem/server/ComponentPlugin.cpp | 2 +- .../libraries/armem/server/ComponentPlugin.h | 8 +- .../armem/server/MemoryRemoteGui.cpp | 14 +- .../libraries/armem/server/MemoryRemoteGui.h | 14 +- .../armem/server/MemoryToIceAdapter.cpp | 14 +- .../armem/server/MemoryToIceAdapter.h | 10 +- .../query_proc/base/BaseQueryProcessor.cpp | 13 -- .../base/BaseQueryProcessorBase.cpp | 0 ...ryProcessor.h => BaseQueryProcessorBase.h} | 2 +- .../base/CoreSegmentQueryProcessor.cpp | 14 -- .../base/CoreSegmentQueryProcessorBase.cpp | 0 ...ssor.h => CoreSegmentQueryProcessorBase.h} | 11 +- .../query_proc/base/EntityQueryProcessor.cpp | 13 -- .../base/EntityQueryProcessorBase.cpp | 0 ...Processor.h => EntityQueryProcessorBase.h} | 8 +- .../query_proc/base/MemoryQueryProcessor.cpp | 15 -- .../base/MemoryQueryProcessorBase.cpp | 0 ...Processor.h => MemoryQueryProcessorBase.h} | 14 +- .../base/ProviderSegmentQueryProcessor.cpp | 15 -- .../ProviderSegmentQueryProcessorBase.cpp | 0 ....h => ProviderSegmentQueryProcessorBase.h} | 11 +- .../longtermMemory/BaseQueryProcessor.cpp | 13 -- .../CoreSegmentQueryProcessor.cpp | 14 -- .../longtermMemory/EntityQueryProcessor.cpp | 13 -- .../longtermMemory/EntityQueryProcessor.h | 39 ---- .../longtermMemory/MemoryQueryProcessor.cpp | 15 -- .../ProviderSegmentQueryProcessor.cpp | 15 -- .../ProviderSegmentQueryProcessor.h | 38 ---- .../longtermmemory/BaseQueryProcessor.cpp | 0 .../BaseQueryProcessor.h | 10 +- .../CoreSegmentQueryProcessor.cpp | 0 .../CoreSegmentQueryProcessor.h | 13 +- .../longtermmemory/EntityQueryProcessor.cpp | 0 .../longtermmemory/EntityQueryProcessor.h | 39 ++++ .../longtermmemory/MemoryQueryProcessor.cpp | 0 .../MemoryQueryProcessor.h | 13 +- .../ProviderSegmentQueryProcessor.cpp | 0 .../ProviderSegmentQueryProcessor.h | 37 +++ .../workingMemory/BaseQueryProcessor.cpp | 13 -- .../CoreSegmentQueryProcessor.cpp | 14 -- .../workingMemory/EntityQueryProcessor.cpp | 13 -- .../workingMemory/MemoryQueryProcessor.cpp | 15 -- .../ProviderSegmentQueryProcessor.cpp | 15 -- .../workingmemory/BaseQueryProcessor.cpp | 0 .../BaseQueryProcessor.h | 10 +- .../CoreSegmentQueryProcessor.cpp | 0 .../CoreSegmentQueryProcessor.h | 15 +- .../workingmemory/EntityQueryProcessor.cpp | 0 .../EntityQueryProcessor.h | 20 +- .../workingmemory/MemoryQueryProcessor.cpp | 0 .../MemoryQueryProcessor.h | 19 +- .../ProviderSegmentQueryProcessor.cpp | 0 .../ProviderSegmentQueryProcessor.h | 15 +- .../armem/test/ArMemIceConversionsTest.cpp | 10 +- .../libraries/armem/test/ArMemLTMTest.cpp | 12 +- .../libraries/armem/test/ArMemMemoryTest.cpp | 16 +- .../armem/test/ArMemQueryBuilderTest.cpp | 2 +- .../libraries/armem/test/ArMemQueryTest.cpp | 42 ++-- source/RobotAPI/libraries/armem/util/util.h | 10 +- .../libraries/armem_gui/MemoryViewer.cpp | 14 +- .../libraries/armem_gui/MemoryViewer.h | 2 +- .../armem_gui/instance/InstanceView.cpp | 8 +- .../armem_gui/instance/InstanceView.h | 10 +- .../libraries/armem_gui/memory/TreeWidget.cpp | 70 +++--- .../libraries/armem_gui/memory/TreeWidget.h | 44 ++-- .../TransformReader.cpp | 14 +- .../TransformReader.h | 6 +- .../TransformWriter.cpp | 6 +- 158 files changed, 972 insertions(+), 1384 deletions(-) rename source/RobotAPI/libraries/armem/core/base/{CoreSegment.cpp => CoreSegmentBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{CoreSegment.h => CoreSegmentBase.h} (89%) rename source/RobotAPI/libraries/armem/core/base/{Entity.cpp => EntityBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{Entity.h => EntityBase.h} (93%) rename source/RobotAPI/libraries/armem/core/base/{EntityInstance.cpp => EntityInstanceBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{EntityInstance.h => EntityInstanceBase.h} (72%) rename source/RobotAPI/libraries/armem/core/base/{EntitySnapshot.cpp => EntitySnapshotBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{EntitySnapshot.h => EntitySnapshotBase.h} (95%) rename source/RobotAPI/libraries/armem/core/base/{Memory.cpp => MemoryBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{Memory.h => MemoryBase.h} (89%) rename source/RobotAPI/libraries/armem/core/base/{ProviderSegment.cpp => ProviderSegmentBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/{ProviderSegment.h => ProviderSegmentBase.h} (92%) delete mode 100644 source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.cpp rename source/RobotAPI/libraries/armem/core/{workingMemory/detail/EntityContainer.cpp => base/detail/EntityContainerBase.cpp} (100%) rename source/RobotAPI/libraries/armem/core/base/detail/{EntityContainer.h => EntityContainerBase.h} (74%) delete mode 100644 source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.cpp create mode 100644 source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.cpp rename source/RobotAPI/libraries/armem/core/base/detail/{MemoryContainer.h => MemoryContainerBase.h} (90%) create mode 100644 source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.cpp rename source/RobotAPI/libraries/armem/core/base/detail/{TypedEntityContainer.h => TypedEntityContainerBase.h} (66%) delete mode 100644 source/RobotAPI/libraries/armem/core/base/ice_conversions.cpp delete mode 100644 source/RobotAPI/libraries/armem/core/base/ice_conversions.h rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/CoreSegment.cpp (69%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/CoreSegment.h (68%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/Entity.cpp (78%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/Entity.h (77%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/EntityInstance.cpp (88%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/EntityInstance.h (75%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/EntitySnapshot.cpp (81%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/EntitySnapshot.h (64%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/Memory.cpp (81%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/Memory.h (66%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/ProviderSegment.cpp (69%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/ProviderSegment.h (66%) rename source/RobotAPI/libraries/armem/core/{diskMemory => diskmemory}/detail/TypedEntityContainer.h (90%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/CoreSegment.cpp (55%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/CoreSegment.h (63%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/Entity.cpp (66%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/Entity.h (75%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/EntityInstance.cpp (89%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/EntityInstance.h (84%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/EntitySnapshot.cpp (74%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/EntitySnapshot.h (57%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/Memory.cpp (76%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/Memory.h (63%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/ProviderSegment.cpp (55%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/ProviderSegment.h (64%) rename source/RobotAPI/libraries/armem/core/{longtermMemory => longtermmemory}/mongodb/MongoDBConnectionManager.h (94%) delete mode 100644 source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.cpp delete mode 100644 source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/CoreSegment.cpp (57%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/CoreSegment.h (78%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/Entity.cpp (71%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/Entity.h (85%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/EntityInstance.cpp (95%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/EntityInstance.h (92%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/EntitySnapshot.cpp (84%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/EntitySnapshot.h (74%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/Memory.cpp (85%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/Memory.h (73%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/ProviderSegment.cpp (58%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/ProviderSegment.h (79%) create mode 100644 source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.cpp rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/detail/EntityContainer.h (68%) create mode 100644 source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.cpp rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/detail/MemoryContainer.h (55%) create mode 100644 source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.cpp rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/detail/TypedEntityContainer.h (58%) rename source/RobotAPI/libraries/armem/core/{workingMemory => workingmemory}/ice_conversions.cpp (69%) create mode 100644 source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.cpp rename source/RobotAPI/libraries/armem/server/query_proc/base/{BaseQueryProcessor.h => BaseQueryProcessorBase.h} (96%) delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.cpp rename source/RobotAPI/libraries/armem/server/query_proc/base/{CoreSegmentQueryProcessor.h => CoreSegmentQueryProcessorBase.h} (91%) delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.cpp rename source/RobotAPI/libraries/armem/server/query_proc/base/{EntityQueryProcessor.h => EntityQueryProcessorBase.h} (96%) delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.cpp rename source/RobotAPI/libraries/armem/server/query_proc/base/{MemoryQueryProcessor.h => MemoryQueryProcessorBase.h} (85%) delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.cpp rename source/RobotAPI/libraries/armem/server/query_proc/base/{ProviderSegmentQueryProcessor.h => ProviderSegmentQueryProcessorBase.h} (91%) delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.h delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.h create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{longtermMemory => longtermmemory}/BaseQueryProcessor.h (55%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{longtermMemory => longtermmemory}/CoreSegmentQueryProcessor.h (52%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.h create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{longtermMemory => longtermmemory}/MemoryQueryProcessor.h (52%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.h delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.cpp delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.cpp create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{workingMemory => workingmemory}/BaseQueryProcessor.h (61%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{workingMemory => workingmemory}/CoreSegmentQueryProcessor.h (57%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{workingMemory => workingmemory}/EntityQueryProcessor.h (52%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{workingMemory => workingmemory}/MemoryQueryProcessor.h (62%) create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.cpp rename source/RobotAPI/libraries/armem/server/query_proc/{workingMemory => workingmemory}/ProviderSegmentQueryProcessor.h (55%) diff --git a/scenarios/ArMemExample/config/ExampleMemory.cfg b/scenarios/ArMemExample/config/ExampleMemory.cfg index e59a680a2..d0a545f7a 100644 --- a/scenarios/ArMemExample/config/ExampleMemory.cfg +++ b/scenarios/ArMemExample/config/ExampleMemory.cfg @@ -84,14 +84,6 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates # ArmarX.EnableProfiling = false -# ArmarX.ExampleMemory.: -# Attributes: -# - Default: "" -# - Case sensitivity: yes -# - Required: no -# ArmarX.ExampleMemory. = "" - - # ArmarX.ExampleMemory.EnableProfiling: enable profiler which is used for logging performance events # Attributes: # - Default: false diff --git a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp index a8d5f925e..5ed005e7a 100644 --- a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp +++ b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp @@ -30,7 +30,7 @@ #include <RobotAPI/libraries/armem/server/MemoryRemoteGui.h> #include <RobotAPI/libraries/armem/client/query/Builder.h> #include <RobotAPI/libraries/armem/client/query/query_fns.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include <RobotAPI/components/armem/server/ExampleMemory/aron/ExampleData.aron.generated.h> @@ -221,19 +221,19 @@ namespace armarx if (qResult.success) { - armem::workingmemory::Memory& memory = qResult.memory; + armem::wm::Memory& memory = qResult.memory; ARMARX_CHECK_EQUAL(memory.coreSegments().size(), 1); - armem::workingmemory::CoreSegment& coreSeg = memory.coreSegments().begin()->second; + armem::wm::CoreSegment& coreSeg = memory.coreSegments().begin()->second; ARMARX_CHECK_EQUAL(coreSeg.providerSegments().size(), 1); - armem::workingmemory::ProviderSegment& provSeg = coreSeg.providerSegments().begin()->second; + armem::wm::ProviderSegment& provSeg = coreSeg.providerSegments().begin()->second; ARMARX_CHECK_EQUAL(provSeg.entities().size(), 1); - armem::workingmemory::Entity& entity = provSeg.entities().begin()->second; + armem::wm::Entity& entity = provSeg.entities().begin()->second; ARMARX_CHECK_GREATER_EQUAL(entity.history().size(), 1); - armem::workingmemory::EntitySnapshot& snapshot = entity.history().begin()->second; + armem::wm::EntitySnapshot& snapshot = entity.history().begin()->second; ARMARX_INFO << "Result: " << "\n- memory: \t" << memory.name() @@ -245,7 +245,7 @@ namespace armarx ; ARMARX_IMPORTANT << "Getting entity via ID"; - const armem::workingmemory::Entity& e = memory.getEntity(entityID); + const armem::wm::Entity& e = memory.getEntity(entityID); ARMARX_INFO << "Result: " << "\n- entity: \t" << e.name() << "\n- snapshot: \t" << e.getLatestSnapshot().time() @@ -282,8 +282,8 @@ namespace armarx if (qResult.success) { - armem::workingmemory::Memory memory = std::move(qResult.memory); - const armem::workingmemory::EntitySnapshot& entitySnapshot = memory.getEntity(snapshotID).getLatestSnapshot(); + armem::wm::Memory memory = std::move(qResult.memory); + const armem::wm::EntitySnapshot& entitySnapshot = memory.getEntity(snapshotID).getLatestSnapshot(); ARMARX_INFO << "Result snapshot: " << "\n- time: \t" << entitySnapshot.time() diff --git a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.h b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.h index ba4f67a4b..e2e975c4a 100644 --- a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.h +++ b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.h @@ -34,7 +34,7 @@ #include <RobotAPI/interface/armem/server/MemoryInterface.h> #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h> #include <RobotAPI/libraries/armem/client/ComponentPlugin.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> namespace armarx @@ -124,7 +124,7 @@ namespace armarx { std::atomic_bool rebuild = false; - std::optional<armem::workingmemory::Memory> queryResult; + std::optional<armem::wm::Memory> queryResult; RemoteGui::Client::GroupBox queryResultGroup; }; RemoteGuiTab tab; diff --git a/source/RobotAPI/components/armem/server/ExampleMemory/test/ExampleMemoryTest.cpp b/source/RobotAPI/components/armem/server/ExampleMemory/test/ExampleMemoryTest.cpp index 01ff68729..bb1988874 100644 --- a/source/RobotAPI/components/armem/server/ExampleMemory/test/ExampleMemoryTest.cpp +++ b/source/RobotAPI/components/armem/server/ExampleMemory/test/ExampleMemoryTest.cpp @@ -51,9 +51,9 @@ BOOST_AUTO_TEST_CASE(test_ExampleData_type) BOOST_CHECK_EQUAL(type->childrenSize(), 15); - armem::workingmemory::Memory memory; - armem::workingmemory::CoreSegment& core = memory.addCoreSegment("ExampleData", type); - armem::workingmemory::ProviderSegment& prov = core.addProviderSegment("Provider"); + armem::wm::Memory memory; + armem::wm::CoreSegment& core = memory.addCoreSegment("ExampleData", type); + armem::wm::ProviderSegment& prov = core.addProviderSegment("Provider"); BOOST_CHECK_EQUAL(core.aronType, prov.aronType); } diff --git a/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.cpp b/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.cpp index cc09275e7..2293364c6 100644 --- a/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.cpp +++ b/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.cpp @@ -71,7 +71,7 @@ namespace armarx robotStateComponentMemoryBatchSize = std::max((unsigned int) 1, robotStateComponentMemoryBatchSize); robotStateComponentPollFrequency = std::clamp(robotStateComponentPollFrequency, 1, ROBOT_STATE_COMPONENT_MAXIMUM_FREQUENCY); - workingmemory.name() = memoryName; + workingmemory.name() = workingMemoryName; } @@ -136,7 +136,7 @@ namespace armarx ARMARX_ERROR << "Could not add segment " << robotUnitCoreSegmentName << "/" << robotUnitProviderSegmentName << ". The error message is: " << result.errorMessage; } - robotUnitProviderID.memoryName = memoryName; + robotUnitProviderID.memoryName = workingMemoryName; robotUnitProviderID.coreSegmentName = robotUnitCoreSegmentName; robotUnitProviderID.providerSegmentName = robotUnitProviderSegmentName; } @@ -395,7 +395,7 @@ namespace armarx ARMARX_ERROR << "Could not add segment " << robotStateComponentCoreSegmentName << "/" << robotStateComponentProviderSegmentName << ". The error message is: " << result.errorMessage; } - robotStateComponentProviderID.memoryName = memoryName; + robotStateComponentProviderID.memoryName = workingMemoryName; robotStateComponentProviderID.coreSegmentName = robotStateComponentCoreSegmentName; robotStateComponentProviderID.providerSegmentName = robotStateComponentProviderSegmentName; } diff --git a/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.h b/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.h index 6b6ea32c9..b16ee1296 100644 --- a/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.h +++ b/source/RobotAPI/components/armem/server/RobotSensorMemory/RobotSensorMemory.h @@ -104,7 +104,7 @@ namespace armarx void stopRobotStateComponentPoll(); private: - std::string memoryName = "RobotSensorMemory"; + std::string workingMemoryName = "RobotStateMemory"; bool addCoreSegmentOnUsage = false; mutable std::recursive_mutex startStopMutex; @@ -114,6 +114,7 @@ namespace armarx std::string robotUnitProviderSegmentName = "RobotUnit"; // get robot name? armem::data::MemoryID robotUnitProviderID; + // TODO: Remove the whole connection to the RSC since this memory will replace it? std::string robotStateComponentCoreSegmentName = "Localization"; std::string robotStateComponentProviderSegmentName = "RobotStateComponent"; // get robot name? armem::data::MemoryID robotStateComponentProviderID; diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt index 0462bbd67..9e8250ffc 100644 --- a/source/RobotAPI/libraries/armem/CMakeLists.txt +++ b/source/RobotAPI/libraries/armem/CMakeLists.txt @@ -25,37 +25,42 @@ set(LIB_FILES core/base/detail/MemoryItem.cpp core/base/detail/MaxHistorySize.cpp - core/base/detail/MemoryContainer.cpp - core/base/detail/EntityContainer.cpp - - core/base/CoreSegment.cpp - core/base/Entity.cpp - core/base/EntityInstance.cpp - core/base/EntitySnapshot.cpp - core/base/Memory.cpp - core/base/ProviderSegment.cpp - - core/workingMemory/ice_conversions.cpp - core/workingMemory/CoreSegment.cpp - core/workingMemory/Entity.cpp - core/workingMemory/EntityInstance.cpp - core/workingMemory/EntitySnapshot.cpp - core/workingMemory/Memory.cpp - core/workingMemory/ProviderSegment.cpp - - core/longtermMemory/CoreSegment.cpp - core/longtermMemory/Entity.cpp - core/longtermMemory/EntityInstance.cpp - core/longtermMemory/EntitySnapshot.cpp - core/longtermMemory/Memory.cpp - core/longtermMemory/ProviderSegment.cpp - - core/diskMemory/CoreSegment.cpp - core/diskMemory/Entity.cpp - core/diskMemory/EntityInstance.cpp - core/diskMemory/EntitySnapshot.cpp - core/diskMemory/Memory.cpp - core/diskMemory/ProviderSegment.cpp + core/base/detail/MemoryContainerBase.cpp + core/base/detail/EntityContainerBase.cpp + core/base/detail/TypedEntityContainerBase.cpp + + core/base/CoreSegmentBase.cpp + core/base/EntityBase.cpp + core/base/EntityInstanceBase.cpp + core/base/EntitySnapshotBase.cpp + core/base/MemoryBase.cpp + core/base/ProviderSegmentBase.cpp + + core/workingmemory/ice_conversions.cpp + core/workingmemory/detail/MemoryContainer.cpp + core/workingmemory/detail/EntityContainer.cpp + core/workingmemory/detail/TypedEntityContainer.cpp + core/workingmemory/CoreSegment.cpp + core/workingmemory/Entity.cpp + core/workingmemory/EntityInstance.cpp + core/workingmemory/EntitySnapshot.cpp + core/workingmemory/Memory.cpp + core/workingmemory/ProviderSegment.cpp + core/workingmemory/ice_conversions.cpp + + core/longtermmemory/CoreSegment.cpp + core/longtermmemory/Entity.cpp + core/longtermmemory/EntityInstance.cpp + core/longtermmemory/EntitySnapshot.cpp + core/longtermmemory/Memory.cpp + core/longtermmemory/ProviderSegment.cpp + + core/diskmemory/CoreSegment.cpp + core/diskmemory/Entity.cpp + core/diskmemory/EntityInstance.cpp + core/diskmemory/EntitySnapshot.cpp + core/diskmemory/Memory.cpp + core/diskmemory/ProviderSegment.cpp core/error/ArMemError.cpp @@ -74,23 +79,23 @@ set(LIB_FILES server/MemoryRemoteGui.cpp server/RemoteGuiAronDataVisitor.cpp - server/query_proc/base/BaseQueryProcessor.cpp - server/query_proc/base/EntityQueryProcessor.cpp - server/query_proc/base/ProviderSegmentQueryProcessor.cpp - server/query_proc/base/CoreSegmentQueryProcessor.cpp - server/query_proc/base/MemoryQueryProcessor.cpp + server/query_proc/base/BaseQueryProcessorBase.cpp + server/query_proc/base/EntityQueryProcessorBase.cpp + server/query_proc/base/ProviderSegmentQueryProcessorBase.cpp + server/query_proc/base/CoreSegmentQueryProcessorBase.cpp + server/query_proc/base/MemoryQueryProcessorBase.cpp - server/query_proc/workingMemory/BaseQueryProcessor.cpp - server/query_proc/workingMemory/EntityQueryProcessor.cpp - server/query_proc/workingMemory/ProviderSegmentQueryProcessor.cpp - server/query_proc/workingMemory/CoreSegmentQueryProcessor.cpp - server/query_proc/workingMemory/MemoryQueryProcessor.cpp + server/query_proc/workingmemory/BaseQueryProcessor.cpp + server/query_proc/workingmemory/EntityQueryProcessor.cpp + server/query_proc/workingmemory/ProviderSegmentQueryProcessor.cpp + server/query_proc/workingmemory/CoreSegmentQueryProcessor.cpp + server/query_proc/workingmemory/MemoryQueryProcessor.cpp - server/query_proc/longtermMemory/BaseQueryProcessor.cpp - server/query_proc/longtermMemory/EntityQueryProcessor.cpp - server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.cpp - server/query_proc/longtermMemory/CoreSegmentQueryProcessor.cpp - server/query_proc/longtermMemory/MemoryQueryProcessor.cpp + server/query_proc/longtermmemory/BaseQueryProcessor.cpp + server/query_proc/longtermmemory/EntityQueryProcessor.cpp + server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.cpp + server/query_proc/longtermmemory/CoreSegmentQueryProcessor.cpp + server/query_proc/longtermmemory/MemoryQueryProcessor.cpp mns/MemoryNameSystem.cpp mns/ClientPlugin.cpp @@ -106,51 +111,52 @@ set(LIB_HEADERS core/MemoryID.h core/SuccessHeader.h core/Time.h - core/ice_conversions.h - core/ice_conversions_templates.h core/error.h core/error/ArMemError.h core/base/detail/MemoryItem.h core/base/detail/MaxHistorySize.h - core/base/detail/MemoryContainer.h - core/base/detail/EntityContainer.h - core/base/detail/TypedEntityContainer.h - - core/base/CoreSegment.h - core/base/Entity.h - core/base/EntityInstance.h - core/base/EntitySnapshot.h - core/base/Memory.h - core/base/ProviderSegment.h - - core/workingMemory/detail/MemoryContainer.h - core/workingMemory/detail/EntityContainer.h - core/workingMemory/detail/TypedEntityContainer.h - core/workingMemory/ice_conversions.h - core/workingMemory/CoreSegment.h - core/workingMemory/Entity.h - core/workingMemory/EntityInstance.h - core/workingMemory/EntitySnapshot.h - core/workingMemory/Memory.h - core/workingMemory/ProviderSegment.h - - core/longtermMemory/CoreSegment.h - core/longtermMemory/Entity.h - core/longtermMemory/EntityInstance.h - core/longtermMemory/EntitySnapshot.h - core/longtermMemory/Memory.h - core/longtermMemory/ProviderSegment.h - core/longtermMemory/mongodb/MongoDBConnectionManager.h - - core/diskMemory/detail/TypedEntityContainer.h - core/diskMemory/CoreSegment.h - core/diskMemory/Entity.h - core/diskMemory/EntityInstance.h - core/diskMemory/EntitySnapshot.h - core/diskMemory/Memory.h - core/diskMemory/ProviderSegment.h + core/base/detail/MemoryContainerBase.h + core/base/detail/EntityContainerBase.h + core/base/detail/TypedEntityContainerBase.h + + core/base/CoreSegmentBase.h + core/base/EntityBase.h + core/base/EntityInstanceBase.h + core/base/EntitySnapshotBase.h + core/base/MemoryBase.h + core/base/ProviderSegmentBase.h + + core/workingmemory/detail/MemoryContainer.h + core/workingmemory/detail/EntityContainer.h + core/workingmemory/detail/TypedEntityContainer.h + core/workingmemory/CoreSegment.h + core/workingmemory/Entity.h + core/workingmemory/EntityInstance.h + core/workingmemory/EntitySnapshot.h + core/workingmemory/Memory.h + core/workingmemory/ProviderSegment.h + core/workingmemory/ice_conversions.h + + core/longtermmemory/CoreSegment.h + core/longtermmemory/Entity.h + core/longtermmemory/EntityInstance.h + core/longtermmemory/EntitySnapshot.h + core/longtermmemory/Memory.h + core/longtermmemory/ProviderSegment.h + core/longtermmemory/mongodb/MongoDBConnectionManager.h + + core/diskmemory/detail/TypedEntityContainer.h + core/diskmemory/CoreSegment.h + core/diskmemory/Entity.h + core/diskmemory/EntityInstance.h + core/diskmemory/EntitySnapshot.h + core/diskmemory/Memory.h + core/diskmemory/ProviderSegment.h + + core/ice_conversions.h + core/ice_conversions_templates.h client.h client/ComponentPlugin.h @@ -173,23 +179,23 @@ set(LIB_HEADERS server/RemoteGuiAronDataVisitor.h server/query_proc.h - server/query_proc/base/BaseQueryProcessor.h - server/query_proc/base/EntityQueryProcessor.h - server/query_proc/base/ProviderSegmentQueryProcessor.h - server/query_proc/base/CoreSegmentQueryProcessor.h - server/query_proc/base/MemoryQueryProcessor.h - - server/query_proc/workingMemory/BaseQueryProcessor.h - server/query_proc/workingMemory/EntityQueryProcessor.h - server/query_proc/workingMemory/ProviderSegmentQueryProcessor.h - server/query_proc/workingMemory/CoreSegmentQueryProcessor.h - server/query_proc/workingMemory/MemoryQueryProcessor.h - - server/query_proc/longtermMemory/BaseQueryProcessor.h - server/query_proc/longtermMemory/EntityQueryProcessor.h - server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.h - server/query_proc/longtermMemory/CoreSegmentQueryProcessor.h - server/query_proc/longtermMemory/MemoryQueryProcessor.h + server/query_proc/base/BaseQueryProcessorBase.h + server/query_proc/base/EntityQueryProcessorBase.h + server/query_proc/base/ProviderSegmentQueryProcessorBase.h + server/query_proc/base/CoreSegmentQueryProcessorBase.h + server/query_proc/base/MemoryQueryProcessorBase.h + + server/query_proc/workingmemory/BaseQueryProcessor.h + server/query_proc/workingmemory/EntityQueryProcessor.h + server/query_proc/workingmemory/ProviderSegmentQueryProcessor.h + server/query_proc/workingmemory/CoreSegmentQueryProcessor.h + server/query_proc/workingmemory/MemoryQueryProcessor.h + + server/query_proc/longtermmemory/BaseQueryProcessor.h + server/query_proc/longtermmemory/EntityQueryProcessor.h + server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.h + server/query_proc/longtermmemory/CoreSegmentQueryProcessor.h + server/query_proc/longtermmemory/MemoryQueryProcessor.h mns.h mns/MemoryNameSystem.h diff --git a/source/RobotAPI/libraries/armem/client/Query.cpp b/source/RobotAPI/libraries/armem/client/Query.cpp index 9830e11c4..1777839f2 100644 --- a/source/RobotAPI/libraries/armem/client/Query.cpp +++ b/source/RobotAPI/libraries/armem/client/Query.cpp @@ -1,6 +1,6 @@ #include "Query.h" -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> namespace armarx::armem::client { diff --git a/source/RobotAPI/libraries/armem/client/Query.h b/source/RobotAPI/libraries/armem/client/Query.h index 5c0fb0f2b..b22c88001 100644 --- a/source/RobotAPI/libraries/armem/client/Query.h +++ b/source/RobotAPI/libraries/armem/client/Query.h @@ -3,10 +3,10 @@ // RobotAPI #include <RobotAPI/interface/armem/query.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include <RobotAPI/libraries/armem/core/SuccessHeader.h> #include <RobotAPI/libraries/armem/core/DataMode.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> namespace armarx::armem::client @@ -31,7 +31,7 @@ namespace armarx::armem::client */ struct QueryResult : public detail::SuccessHeader { - workingmemory::Memory memory; + wm::Memory memory; static QueryResult fromIce(const armem::query::data::Result& ice); diff --git a/source/RobotAPI/libraries/armem/client/Reader.h b/source/RobotAPI/libraries/armem/client/Reader.h index 17076216a..cf0adbb45 100644 --- a/source/RobotAPI/libraries/armem/client/Reader.h +++ b/source/RobotAPI/libraries/armem/client/Reader.h @@ -10,9 +10,9 @@ #include <RobotAPI/interface/armem/server/ReadingMemoryInterface.h> #include <RobotAPI/interface/armem/server/StoringMemoryInterface.h> #include <RobotAPI/interface/armem/client/MemoryListenerInterface.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> -#include <RobotAPI/libraries/armem/core/longtermMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> +#include <RobotAPI/libraries/armem/core/longtermmemory/Memory.h> #include "Query.h" diff --git a/source/RobotAPI/libraries/armem/client/Writer.h b/source/RobotAPI/libraries/armem/client/Writer.h index 7a7160fcb..9c6e8851e 100644 --- a/source/RobotAPI/libraries/armem/client/Writer.h +++ b/source/RobotAPI/libraries/armem/client/Writer.h @@ -2,7 +2,7 @@ #include <RobotAPI/interface/armem/server/WritingMemoryInterface.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> namespace armarx::armem::client diff --git a/source/RobotAPI/libraries/armem/client/query/selectors.cpp b/source/RobotAPI/libraries/armem/client/query/selectors.cpp index 838357071..f2bae7128 100644 --- a/source/RobotAPI/libraries/armem/client/query/selectors.cpp +++ b/source/RobotAPI/libraries/armem/client/query/selectors.cpp @@ -1,6 +1,6 @@ #include "selectors.h" -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> namespace dq = ::armarx::armem::query::data; diff --git a/source/RobotAPI/libraries/armem/core.h b/source/RobotAPI/libraries/armem/core.h index e4825918b..c8ddee31c 100644 --- a/source/RobotAPI/libraries/armem/core.h +++ b/source/RobotAPI/libraries/armem/core.h @@ -1,19 +1,18 @@ #pragma once #include "core/error.h" -#include "core/ice_conversions.h" #include "core/Commit.h" #include "core/DataMode.h" #include "core/MemoryID.h" #include "core/Time.h" -#include "core/workingMemory/Memory.h" -#include "core/workingMemory/CoreSegment.h" -#include "core/workingMemory/ProviderSegment.h" -#include "core/workingMemory/Entity.h" -#include "core/workingMemory/EntitySnapshot.h" -#include "core/workingMemory/EntityInstance.h" -#include "core/workingMemory/ice_conversions.h" +#include "core/workingmemory/Memory.h" +#include "core/workingmemory/CoreSegment.h" +#include "core/workingmemory/ProviderSegment.h" +#include "core/workingmemory/Entity.h" +#include "core/workingmemory/EntitySnapshot.h" +#include "core/workingmemory/EntityInstance.h" +#include "core/workingmemory/ice_conversions.h" namespace armarx::armem diff --git a/source/RobotAPI/libraries/armem/core/Commit.h b/source/RobotAPI/libraries/armem/core/Commit.h index 6a25f7a7c..ff3215ab7 100644 --- a/source/RobotAPI/libraries/armem/core/Commit.h +++ b/source/RobotAPI/libraries/armem/core/Commit.h @@ -10,7 +10,6 @@ namespace armarx::armem { - /** * @brief An update of an entity for a specific point in time. */ diff --git a/source/RobotAPI/libraries/armem/core/base/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/CoreSegment.cpp rename to source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/CoreSegment.h b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h similarity index 89% rename from source/RobotAPI/libraries/armem/core/base/CoreSegment.h rename to source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h index f0f02976d..8e99598c1 100644 --- a/source/RobotAPI/libraries/armem/core/base/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h @@ -3,27 +3,29 @@ #include <map> #include <string> -#include "ProviderSegment.h" -#include "detail/TypedEntityContainer.h" +#include "ProviderSegmentBase.h" #include "detail/MaxHistorySize.h" +#include "detail/TypedEntityContainerBase.h" -namespace armarx::armem +namespace armarx::armem::base { /** * @brief Data of a core segment containing multiple provider segments. */ - template <class _ProviderSegmentT, class Derived> + template <class _ProviderSegmentT, class _Derived> class CoreSegmentBase : - virtual public detail::TypedEntityContainerBase<_ProviderSegmentT, typename _ProviderSegmentT::EntityT, Derived>, - virtual public armarx::armem::detail::MaxHistorySize + virtual public detail::TypedEntityContainerBase<_ProviderSegmentT, typename _ProviderSegmentT::EntityT, _Derived>, + virtual public detail::MaxHistorySize { - using Base = detail::TypedEntityContainerBase<_ProviderSegmentT, typename _ProviderSegmentT::EntityT, Derived>; - - using _EntityT = typename _ProviderSegmentT::EntityT; + using Base = detail::TypedEntityContainerBase<_ProviderSegmentT, typename _ProviderSegmentT::EntityT, _Derived>; public: + using ProviderSegmentT = _ProviderSegmentT; + using EntityT = typename ProviderSegmentT::EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; CoreSegmentBase& operator=(const CoreSegmentBase& other) { @@ -77,7 +79,7 @@ namespace armarx::armem } using Base::_checkContainerName; - const _EntityT& getEntity(const MemoryID& id) const override + const EntityT& getEntity(const MemoryID& id) const override { _checkContainerName(id.coreSegmentName, this->getKeyString()); return getProviderSegment(id.providerSegmentName).getEntity(id); diff --git a/source/RobotAPI/libraries/armem/core/base/Entity.cpp b/source/RobotAPI/libraries/armem/core/base/EntityBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/Entity.cpp rename to source/RobotAPI/libraries/armem/core/base/EntityBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/Entity.h b/source/RobotAPI/libraries/armem/core/base/EntityBase.h similarity index 93% rename from source/RobotAPI/libraries/armem/core/base/Entity.h rename to source/RobotAPI/libraries/armem/core/base/EntityBase.h index f52944ccc..2f7788696 100644 --- a/source/RobotAPI/libraries/armem/core/base/Entity.h +++ b/source/RobotAPI/libraries/armem/core/base/EntityBase.h @@ -8,11 +8,11 @@ #include "../../core/Time.h" #include "../../core/MemoryID.h" -#include "EntitySnapshot.h" -#include "detail/MemoryContainer.h" +#include "EntitySnapshotBase.h" +#include "detail/MemoryContainerBase.h" -namespace armarx::armem +namespace armarx::armem::base { /** @@ -34,13 +34,16 @@ namespace armarx::armem * (potentially variable) number of instances (`EntityInstance`), * each containing a single `AronData` object of a specific `AronType`. */ - template <class _EntitySnapshotT, class Derived> + template <class _EntitySnapshotT, class _Derived> class EntityBase : - virtual public detail::MemoryContainerBase<std::map<Time, _EntitySnapshotT>, Derived> + virtual public detail::MemoryContainerBase<std::map<Time, _EntitySnapshotT>, _Derived> { - using Base = detail::MemoryContainerBase<std::map<Time, _EntitySnapshotT>, Derived>; + using Base = detail::MemoryContainerBase<std::map<Time, _EntitySnapshotT>, _Derived>; public: + using EntitySnapshotT = _EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; + EntityBase& operator=(const EntityBase& other) { other._copySelf(*this); @@ -244,27 +247,27 @@ namespace armarx::armem return "entity"; } - virtual Derived copy() const override + virtual _Derived copy() const override { - Derived d; + _Derived d; this->_copySelf(d); return d; } - virtual Derived copyEmpty() const override + virtual _Derived copyEmpty() const override { - Derived d; + _Derived d; this->_copySelfEmpty(d); return d; } protected: - virtual void _copySelf(Derived& other) const override + virtual void _copySelf(_Derived& other) const override { Base::_copySelf(other); } - virtual void _copySelfEmpty(Derived& other) const override + virtual void _copySelfEmpty(_Derived& other) const override { Base::_copySelfEmpty(other); } diff --git a/source/RobotAPI/libraries/armem/core/base/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/EntityInstance.cpp rename to source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/EntityInstance.h b/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h similarity index 72% rename from source/RobotAPI/libraries/armem/core/base/EntityInstance.h rename to source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h index 32f6bdbbd..872521f2a 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h @@ -1,27 +1,23 @@ #pragma once -#include <RobotAPI/interface/aron.h> -#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> - #include "../../core/Time.h" #include "../Commit.h" #include "detail/MemoryItem.h" -namespace armarx::armem +namespace armarx::armem::base { /** * @brief Data of a single entity instance. */ - template <class Derived> + template <class _Derived> class EntityInstanceBase : - virtual public armarx::armem::detail::MemoryItem + virtual public detail::MemoryItem { - using Base = armarx::armem::detail::MemoryItem; + using Base = detail::MemoryItem; public: - EntityInstanceBase& operator=(const EntityInstanceBase& other) { //other._copySelf(*this); @@ -39,9 +35,9 @@ namespace armarx::armem } // Copying - virtual Derived copy() const + virtual _Derived copy() const { - Derived d; + _Derived d; this->_copySelf(d); return d; } @@ -53,7 +49,7 @@ namespace armarx::armem */ virtual void update(const EntityUpdate& update, int index) = 0; - virtual bool equalsDeep(const Derived& other) const = 0; + virtual bool equalsDeep(const _Derived& other) const = 0; std::string getLevelName() const override { @@ -66,7 +62,7 @@ namespace armarx::armem } protected: - virtual void _copySelf(Derived& other) const + virtual void _copySelf(_Derived& other) const { Base::_copySelf(other); } diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshot.cpp b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/EntitySnapshot.cpp rename to source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h similarity index 95% rename from source/RobotAPI/libraries/armem/core/base/EntitySnapshot.h rename to source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h index 341b1e448..1f74f36d0 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h @@ -6,22 +6,23 @@ #include "../MemoryID.h" #include "../Time.h" -#include "EntityInstance.h" -#include "detail/MemoryContainer.h" +#include "EntityInstanceBase.h" +#include "detail/MemoryContainerBase.h" -namespace armarx::armem +namespace armarx::armem::base { /** * @brief Data of an entity at one point in time. */ - template <class _EntityInstanceT, class Derived> + template <class _EntityInstanceT, class _Derived> class EntitySnapshotBase : - virtual public detail::MemoryContainerBase<std::vector<_EntityInstanceT>, Derived> + virtual public detail::MemoryContainerBase<std::vector<_EntityInstanceT>, _Derived> { - using Base = detail::MemoryContainerBase<std::vector<_EntityInstanceT>, Derived>; + using Base = detail::MemoryContainerBase<std::vector<_EntityInstanceT>, _Derived>; public: + using EntityInstanceT = _EntityInstanceT; EntitySnapshotBase& operator=(const EntitySnapshotBase& other) { diff --git a/source/RobotAPI/libraries/armem/core/base/Memory.cpp b/source/RobotAPI/libraries/armem/core/base/MemoryBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/Memory.cpp rename to source/RobotAPI/libraries/armem/core/base/MemoryBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/Memory.h b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h similarity index 89% rename from source/RobotAPI/libraries/armem/core/base/Memory.h rename to source/RobotAPI/libraries/armem/core/base/MemoryBase.h index 99e820796..bb7d5a8b9 100644 --- a/source/RobotAPI/libraries/armem/core/base/Memory.h +++ b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h @@ -3,24 +3,28 @@ #include <map> #include <string> -#include "CoreSegment.h" -#include "detail/EntityContainer.h" +#include "CoreSegmentBase.h" +#include "detail/EntityContainerBase.h" -namespace armarx::armem +namespace armarx::armem::base { /** * @brief Data of a memory consisting of multiple core segments. */ - template <class _CoreSegmentT, class Derived> + template <class _CoreSegmentT, class _Derived> class MemoryBase : - virtual public detail::EntityContainerBase<_CoreSegmentT, typename _CoreSegmentT::ProviderSegmentT::EntityT, Derived> + virtual public detail::EntityContainerBase<_CoreSegmentT, typename _CoreSegmentT::ProviderSegmentT::EntityT, _Derived> { - using Base = detail::EntityContainerBase<_CoreSegmentT, typename _CoreSegmentT::ProviderSegmentT::EntityT, Derived>; - - using _EntityT = typename _CoreSegmentT::ProviderSegmentT::EntityT; + using Base = detail::EntityContainerBase<_CoreSegmentT, typename _CoreSegmentT::ProviderSegmentT::EntityT, _Derived>; public: + using CoreSegmentT = _CoreSegmentT; + using ProviderSegmentT = typename CoreSegmentT::ProviderSegmentT; + using EntityT = typename ProviderSegmentT::EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; + MemoryBase& operator=(const MemoryBase& other) { other._copySelf(*this); @@ -73,7 +77,7 @@ namespace armarx::armem } using Base::_checkContainerName; - const _EntityT& getEntity(const MemoryID& id) const override + const EntityT& getEntity(const MemoryID& id) const override { _checkContainerName(id.memoryName, this->name()); return getCoreSegment(id.coreSegmentName).getEntity(id); diff --git a/source/RobotAPI/libraries/armem/core/base/ProviderSegment.cpp b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/base/ProviderSegment.cpp rename to source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/ProviderSegment.h b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h similarity index 92% rename from source/RobotAPI/libraries/armem/core/base/ProviderSegment.h rename to source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h index e2e789c5f..25ed0e585 100644 --- a/source/RobotAPI/libraries/armem/core/base/ProviderSegment.h +++ b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h @@ -3,25 +3,28 @@ #include <map> #include <string> -#include "Entity.h" -#include "detail/TypedEntityContainer.h" +#include "EntityBase.h" +#include "detail/TypedEntityContainerBase.h" #include "detail/MaxHistorySize.h" -namespace armarx::armem +namespace armarx::armem::base { /** * @brief Data of a provider segment containing multiple entities. */ - template <class _EntityT, class Derived> + template <class _EntityT, class _Derived> class ProviderSegmentBase : - virtual public detail::TypedEntityContainerBase<_EntityT, _EntityT, Derived>, - virtual public armarx::armem::detail::MaxHistorySize + virtual public detail::TypedEntityContainerBase<_EntityT, _EntityT, _Derived>, + virtual public detail::MaxHistorySize { - using Base = detail::TypedEntityContainerBase<_EntityT, _EntityT, Derived>; + using Base = detail::TypedEntityContainerBase<_EntityT, _EntityT, _Derived>; public: + using EntityT = _EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; ProviderSegmentBase& operator=(const ProviderSegmentBase& other) { diff --git a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.cpp b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.cpp deleted file mode 100644 index 43ade411e..000000000 --- a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "EntityContainer.h" - -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - - -namespace armarx::armem::detail -{ - - -} diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/detail/EntityContainer.cpp b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.cpp similarity index 100% rename from source/RobotAPI/libraries/armem/core/workingMemory/detail/EntityContainer.cpp rename to source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.cpp diff --git a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.h b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h similarity index 74% rename from source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.h rename to source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h index fd2c66107..0f28deeef 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainer.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h @@ -3,13 +3,13 @@ #include "../../Commit.h" #include "../../error/ArMemError.h" -#include "MemoryContainer.h" +#include "MemoryContainerBase.h" -#include "../Entity.h" -#include "../EntitySnapshot.h" +#include "../EntityBase.h" +#include "../EntitySnapshotBase.h" -namespace armarx::armem::detail +namespace armarx::armem::base::detail { /** @@ -17,16 +17,17 @@ namespace armarx::armem::detail * * Can be updated by multiple entity updates. */ - template <class _ValueT, class _EntityT, class Derived> + template <class _ValueT, class _EntityT, class _Derived> class EntityContainerBase : - virtual public MemoryContainerBase<std::map<std::string, _ValueT>, Derived> + virtual public MemoryContainerBase<std::map<std::string, _ValueT>, _Derived> { - using Base = MemoryContainerBase<std::map<std::string, _ValueT>, Derived>; - - using _EntitySnapshotT = typename _EntityT::EntitySnapshotT; - using _EntityInstanceT = typename _EntitySnapshotT::EntityInstanceT; + using Base = MemoryContainerBase<std::map<std::string, _ValueT>, _Derived>; public: + using Derived = _Derived; + using EntitySnapshotT = typename _EntityT::EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; + EntityContainerBase& operator=(const EntityContainerBase& other) { other._copySelf(*this); @@ -76,12 +77,12 @@ namespace armarx::armem::detail * @return The entity snapshot. * @throw An exception deriving from `armem::error::ArMemError` if the snapshot is missing. */ - virtual _EntitySnapshotT& getEntitySnapshot(const MemoryID& id) + virtual EntitySnapshotT& getEntitySnapshot(const MemoryID& id) { - return const_cast<_EntitySnapshotT&>(const_cast<const EntityContainerBase*>(this)->getEntitySnapshot(id)); + return const_cast<EntitySnapshotT&>(const_cast<const EntityContainerBase*>(this)->getEntitySnapshot(id)); } - virtual const _EntitySnapshotT& getEntitySnapshot(const MemoryID& id) const + virtual const EntitySnapshotT& getEntitySnapshot(const MemoryID& id) const { const _EntityT& entity = getEntity(id); @@ -95,12 +96,12 @@ namespace armarx::armem::detail } } - virtual _EntityInstanceT& getEntityInstance(const MemoryID& id) + virtual EntityInstanceT& getEntityInstance(const MemoryID& id) { return getEntitySnapshot(id).getInstance(id); } - virtual const _EntityInstanceT& getEntityInstance(const MemoryID& id) const + virtual const EntityInstanceT& getEntityInstance(const MemoryID& id) const { return getEntitySnapshot(id).getInstance(id); } diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp index cdd34e3be..4fe12f7e2 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp +++ b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp @@ -1,7 +1,7 @@ #include "MaxHistorySize.h" -namespace armarx::armem::detail +namespace armarx::armem::base::detail { MaxHistorySize::~MaxHistorySize() { diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h index d96e73296..edbc12fa6 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h @@ -2,7 +2,7 @@ -namespace armarx::armem::detail +namespace armarx::armem::base::detail { class MaxHistorySize { diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.cpp b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.cpp deleted file mode 100644 index 9fd73048f..000000000 --- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "MemoryContainer.h" - - -namespace armarx::armem::detail -{ - -} diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.cpp b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.h b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h similarity index 90% rename from source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.h rename to source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h index c8454892d..e29be04a3 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainer.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h @@ -7,28 +7,26 @@ #include "MemoryItem.h" -namespace armarx::armem::detail +namespace armarx::armem::base::detail { /** * @class Provides default implmentations of `MemoryContainer`, as well as * iterators (which requires a template). */ - template <class _ContainerT, class Derived> + template <class _ContainerT, class _Derived> class MemoryContainerBase : - virtual public armarx::armem::detail::MemoryItem + virtual public MemoryItem { - using Base = armarx::armem::detail::MemoryItem; + using Base = MemoryItem; public: + using Derived = _Derived; using ContainerT = _ContainerT; public: MemoryContainerBase() {} - /*MemoryContainerBase(const MemoryID& id) : - Base(id) - {}*/ MemoryContainerBase(const MemoryContainerBase<ContainerT, Derived>& o) : MemoryItem(o.id), container(o.container) diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h b/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h index e60f42dc1..9749e275a 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h @@ -5,7 +5,7 @@ #include "../../MemoryID.h" -namespace armarx::armem::detail +namespace armarx::armem::base::detail { /** diff --git a/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.cpp b/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainer.h b/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.h similarity index 66% rename from source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainer.h rename to source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.h index 3c067aca8..f4c511da0 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainer.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/TypedEntityContainerBase.h @@ -1,32 +1,33 @@ #pragma once -#include "EntityContainer.h" +#include "EntityContainerBase.h" #include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> -namespace armarx::armem::detail +namespace armarx::armem::base::detail { /** * @brief An entity container with a specific (Aron) type. */ - template <class _ValueT, class _EntityT, class Derived> + template <class _ValueT, class _EntityT, class _Derived> class TypedEntityContainerBase : - virtual public EntityContainerBase<_ValueT, _EntityT, Derived> + virtual public EntityContainerBase<_ValueT, _EntityT, _Derived> { - using Base = EntityContainerBase<_ValueT, _EntityT, Derived>; - - using _EntitySnapshotT = typename _EntityT::EntitySnapshotT; - using _EntityInstanceT = typename _EntitySnapshotT::EntityInstanceT; + using Base = EntityContainerBase<_ValueT, _EntityT, _Derived>; public: + using Derived = _Derived; + using EntitySnapshotT = typename _EntityT::EntitySnapshotT; + using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT; + TypedEntityContainerBase(aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) : aronType(aronType) {} - TypedEntityContainerBase(const TypedEntityContainerBase<_ValueT, _EntityT, Derived>& other) : + TypedEntityContainerBase(const TypedEntityContainerBase<_ValueT, _EntityT, _Derived>& other) : MemoryItem(other), - MemoryContainerBase<std::map<std::string, _ValueT>, Derived>(other), + MemoryContainerBase<std::map<std::string, _ValueT>, _Derived>(other), aronType(other.aronType) {} @@ -46,28 +47,28 @@ namespace armarx::armem::detail return aronType != nullptr; } - virtual Derived copy() const override + virtual _Derived copy() const override { - Derived d; + _Derived d; this->_copySelf(d); return d; } - virtual Derived copyEmpty() const override + virtual _Derived copyEmpty() const override { - Derived d; + _Derived d; this->_copySelfEmpty(d); return d; } protected: - virtual void _copySelf(Derived& other) const override + virtual void _copySelf(_Derived& other) const override { Base::_copySelf(other); other.aronType = aronType; } - virtual void _copySelfEmpty(Derived& other) const override + virtual void _copySelfEmpty(_Derived& other) const override { Base::_copySelfEmpty(other); other.aronType = aronType; diff --git a/source/RobotAPI/libraries/armem/core/base/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/base/ice_conversions.cpp deleted file mode 100644 index 6de4d6e59..000000000 --- a/source/RobotAPI/libraries/armem/core/base/ice_conversions.cpp +++ /dev/null @@ -1,130 +0,0 @@ -#include "ice_conversions.h" - -using namespace armarx::armem::workingmemory; - -namespace armarx -{ - void armem::toIce(data::EntityInstanceMetadata& ice, const EntityInstanceMetadata& metadata) - { - ice.confidence = metadata.confidence; - toIce(ice.timeArrivedMicroSeconds, metadata.timeArrived); - toIce(ice.timeCreatedMicroSeconds, metadata.timeCreated); - toIce(ice.timeSentMicroSeconds, metadata.timeSent); - } - void armem::fromIce(const data::EntityInstanceMetadata& ice, EntityInstanceMetadata& metadata) - { - metadata.confidence = ice.confidence; - fromIce(ice.timeArrivedMicroSeconds, metadata.timeArrived); - fromIce(ice.timeCreatedMicroSeconds, metadata.timeCreated); - fromIce(ice.timeSentMicroSeconds, metadata.timeSent); - } - - void armem::toIce(data::EntityInstance& ice, const EntityInstance& data) - { - detail::toIceItem(ice, data); - - if (data.data()) - { - ice.data = data.data()->toAronDictPtr(); - } - toIce(ice.metadata, data.metadata()); - } - void armem::fromIce(const data::EntityInstance& ice, EntityInstance& data) - { - detail::fromIceItem(ice, data); - - if (ice.data) - { - data.setData(aron::datanavigator::DictNavigator::FromAronDictPtr(ice.data)); - } - fromIce(ice.metadata, data.metadata()); - } - - - void armem::toIce(data::EntitySnapshot& ice, const EntitySnapshot& snapshot) - { - detail::toIceItem(ice, snapshot); - - toIce(ice.instances, snapshot.instances); - } - void armem::fromIce(const data::EntitySnapshot& ice, EntitySnapshot& snapshot) - { - detail::fromIceItem(ice, snapshot); - - fromIce(ice.instances, snapshot.instances); - } - - void armem::toIce(data::Entity& ice, const Entity& entity) - { - detail::toIceItem(ice, entity); - - toIce(ice.history, entity.history); - } - void armem::fromIce(const data::Entity& ice, Entity& entity) - { - detail::fromIceItem(ice, entity); - - fromIce(ice.history, entity.history); - } - - - void armem::toIce(data::ProviderSegment& ice, const ProviderSegment& providerSegment) - { - detail::toIceItem(ice, providerSegment); - - if (providerSegment.hasAronType()) - { - ice.aronType = providerSegment.aronType()->getResult(); - } - toIce(ice.entities, providerSegment.entities); - } - void armem::fromIce(const data::ProviderSegment& ice, ProviderSegment& providerSegment) - { - detail::fromIceItem(ice, providerSegment); - - if (ice.aronType) - { - providerSegment.aronType() = aron::typenavigator::ObjectNavigator::DynamicCastAndCheck( - aron::typenavigator::Navigator::FromAronType(ice.aronType) - ); - } - fromIce(ice.entities, providerSegment.entities); - } - - void armem::toIce(data::CoreSegment& ice, const CoreSegment& coreSegment) - { - detail::toIceItem(ice, coreSegment); - - if (coreSegment.hasAronType()) - { - ice.aronType = coreSegment.aronType()->getResult(); - } - toIce(ice.providerSegments, coreSegment.providerSegments); - } - void armem::fromIce(const data::CoreSegment& ice, CoreSegment& coreSegment) - { - detail::fromIceItem(ice, coreSegment); - - if (ice.aronType) - { - coreSegment.aronType() = aron::typenavigator::ObjectNavigator::DynamicCastAndCheck( - aron::typenavigator::Navigator::FromAronType(ice.aronType) - ); - } - fromIce(ice.providerSegments, coreSegment.providerSegments); - } - - void armem::toIce(data::Memory& ice, const Memory& memory) - { - detail::toIceItem(ice, memory); - - toIce(ice.coreSegments, memory.coreSegments); - } - void armem::fromIce(const data::Memory& ice, Memory& memory) - { - detail::fromIceItem(ice, memory); - - fromIce(ice.coreSegments, memory.coreSegments); - } - -} diff --git a/source/RobotAPI/libraries/armem/core/base/ice_conversions.h b/source/RobotAPI/libraries/armem/core/base/ice_conversions.h deleted file mode 100644 index e5996b001..000000000 --- a/source/RobotAPI/libraries/armem/core/base/ice_conversions.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include <RobotAPI/interface/armem/commit.h> -#include <RobotAPI/interface/armem/memory.h> - -#include "../ice_conversions.h" - -#include "Memory.h" - - -namespace armarx::armem -{ - void toIce(data::EntityInstanceMetadata& ice, const workingmemory::EntityInstanceMetadata& metadata); - void fromIce(const data::EntityInstanceMetadata& ice, workingmemory::EntityInstanceMetadata& metadata); - - void toIce(data::EntityInstance& ice, const workingmemory::EntityInstance& data); - void fromIce(const data::EntityInstance& ice, workingmemory::EntityInstance& data); - - - void toIce(data::EntitySnapshot& ice, const workingmemory::EntitySnapshot& snapshot); - void fromIce(const data::EntitySnapshot& ice, workingmemory::EntitySnapshot& snapshot); - - void toIce(data::Entity& ice, const workingmemory::Entity& entity); - void fromIce(const data::Entity& ice, workingmemory::Entity& entity); - - - void toIce(data::ProviderSegment& ice, const workingmemory::ProviderSegment& providerSegment); - void fromIce(const data::ProviderSegment& ice, workingmemory::ProviderSegment& providerSegment); - - void toIce(data::CoreSegment& ice, const workingmemory::CoreSegment& coreSegment); - void fromIce(const data::CoreSegment& ice, workingmemory::CoreSegment& coreSegment); - - void toIce(data::Memory& ice, const workingmemory::Memory& memory); - void fromIce(const data::Memory& ice, workingmemory::Memory& memory); -} diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.cpp similarity index 69% rename from source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.cpp index e8be60e6c..369dab760 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { CoreSegment::CoreSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::diskMemory } CoreSegment::CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const MemoryID& id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) { } CoreSegment::CoreSegment(const CoreSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) { } @@ -45,7 +45,7 @@ namespace armarx::armem::diskMemory std::filesystem::path CoreSegment::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -57,9 +57,9 @@ namespace armarx::armem::diskMemory return path / id.memoryName / id.coreSegmentName; } - workingmemory::CoreSegment CoreSegment::convert() const + wm::CoreSegment CoreSegment::convert() const { - workingmemory::CoreSegment m; + wm::CoreSegment m; for (const auto& [_, s] : container) { m.addProviderSegment(s.convert(aronType)); @@ -69,12 +69,12 @@ namespace armarx::armem::diskMemory void CoreSegment::reload(const std::shared_ptr<std::filesystem::path>& p_ptr) { - if(!p_ptr) + if (!p_ptr) { ARMARX_WARNING << "The entered is NULL."; } std::filesystem::path p = _fullPath(*p_ptr); - if(std::filesystem::is_regular_file(p)) + if (std::filesystem::is_regular_file(p)) { ARMARX_ERROR << "The entered path is leading to a file! Abort due to error."; } @@ -82,7 +82,7 @@ namespace armarx::armem::diskMemory container.clear(); path = p_ptr; - if(!std::filesystem::exists(p)) + if (!std::filesystem::exists(p)) { ARMARX_INFO << "The entered path does not exist. Assuming an empty container."; } @@ -90,14 +90,14 @@ namespace armarx::armem::diskMemory { for (const auto& d : std::filesystem::directory_iterator(p)) { - if(d.is_directory()) + if (d.is_directory()) { std::string k = d.path().filename(); auto wms = container.emplace(std::make_pair(k, id.withProviderSegmentName(k))); wms.first->second.reload(p_ptr); } - if(d.is_regular_file()) + if (d.is_regular_file()) { readAronType(d.path()); } @@ -105,7 +105,7 @@ namespace armarx::armem::diskMemory } } - void CoreSegment::append(const workingmemory::CoreSegment& m) + void CoreSegment::append(const wm::CoreSegment& m) { std::filesystem::create_directories(_fullPath()); writeAronType(_fullPath()); diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.h similarity index 68% rename from source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.h rename to source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.h index d5a8314d2..f26c01c67 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/CoreSegment.h @@ -2,28 +2,27 @@ #include <filesystem> -#include "../base/CoreSegment.h" +#include "../base/CoreSegmentBase.h" #include "detail/TypedEntityContainer.h" #include "ProviderSegment.h" -#include "../workingMemory/CoreSegment.h" +#include "../workingmemory/CoreSegment.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief Data of a core segment containing multiple provider segments. */ class CoreSegment : - virtual public CoreSegmentBase<ProviderSegment, CoreSegment>, - virtual public detail::TypedEntityContainer<ProviderSegment, CoreSegment> + virtual public base::CoreSegmentBase<ProviderSegment, CoreSegment>, + virtual public detail::TypedEntityContainer<ProviderSegment, CoreSegment> { - public: - using Base = CoreSegmentBase<ProviderSegment, CoreSegment>; - using ProviderSegmentT = ProviderSegment; + using Base = base::CoreSegmentBase<ProviderSegment, CoreSegment>; + public: CoreSegment(); CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); @@ -33,11 +32,11 @@ namespace armarx::armem::diskMemory CoreSegment& operator=(const CoreSegment& other); // Conversion - workingmemory::CoreSegment convert() const; + wm::CoreSegment convert() const; // Filesystem connection void reload(const std::shared_ptr<std::filesystem::path>&); - void append(const workingmemory::CoreSegment&); + void append(const wm::CoreSegment&); private: std::filesystem::path _fullPath() const; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp similarity index 78% rename from source/RobotAPI/libraries/armem/core/diskMemory/Entity.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp index c2c8982a8..3847f0af9 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/Entity.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp @@ -1,6 +1,6 @@ #include "Entity.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { Entity::Entity() @@ -8,18 +8,18 @@ namespace armarx::armem::diskMemory } Entity::Entity(const std::string& name, const MemoryID& parentID) : - armarx::armem::detail::MemoryItem(parentID.withEntityName(name)) + base::detail::MemoryItem(parentID.withEntityName(name)) { } Entity::Entity(const MemoryID& id) : - armarx::armem::detail::MemoryItem(id) + base::detail::MemoryItem(id) { } Entity::Entity(const Entity& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) { } @@ -31,7 +31,7 @@ namespace armarx::armem::diskMemory std::filesystem::path Entity::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -43,9 +43,9 @@ namespace armarx::armem::diskMemory return path / id.memoryName / id.coreSegmentName / id.providerSegmentName / id.entityName; } - workingmemory::Entity Entity::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const + wm::Entity Entity::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const { - workingmemory::Entity m; + wm::Entity m; for (const auto& [_, s] : container) { m.addSnapshot(s.convert(expectedStructure)); @@ -55,12 +55,12 @@ namespace armarx::armem::diskMemory void Entity::reload(const std::shared_ptr<std::filesystem::path>& p_ptr) { - if(!p_ptr) + if (!p_ptr) { ARMARX_WARNING << "The entered is NULL."; } std::filesystem::path p = _fullPath(*p_ptr); - if(std::filesystem::is_regular_file(p)) + if (std::filesystem::is_regular_file(p)) { ARMARX_ERROR << "The entered path is leading to a file! Abort due to error."; } @@ -68,7 +68,7 @@ namespace armarx::armem::diskMemory container.clear(); path = p_ptr; - if(!std::filesystem::exists(p)) + if (!std::filesystem::exists(p)) { ARMARX_INFO << "The entered path does not exist. Assuming an empty container."; } @@ -76,7 +76,7 @@ namespace armarx::armem::diskMemory { for (const auto& d : std::filesystem::directory_iterator(p)) { - if(d.is_directory()) + if (d.is_directory()) { std::string k = d.path().filename(); armem::Time t = armem::Time::microSeconds(std::stol(k)); @@ -87,7 +87,7 @@ namespace armarx::armem::diskMemory } } - void Entity::append(const workingmemory::Entity& m) + void Entity::append(const wm::Entity& m) { std::filesystem::create_directories(_fullPath()); for (const auto& [k, s] : m.container) diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/Entity.h b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.h similarity index 77% rename from source/RobotAPI/libraries/armem/core/diskMemory/Entity.h rename to source/RobotAPI/libraries/armem/core/diskmemory/Entity.h index 391eefb05..756f3eb69 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/Entity.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.h @@ -2,14 +2,14 @@ #include <filesystem> -#include "../base/Entity.h" +#include "../base/EntityBase.h" #include "EntitySnapshot.h" -#include "../workingMemory/Entity.h" +#include "../workingmemory/Entity.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief An entity over a period of time. @@ -31,13 +31,11 @@ namespace armarx::armem::diskMemory * each containing a single `AronData` object of a specific `AronType`. */ class Entity : - virtual public EntityBase<EntitySnapshot, Entity> + virtual public base::EntityBase<EntitySnapshot, Entity> { + using Base = base::EntityBase<EntitySnapshot, Entity>; public: - using Base = EntityBase<EntitySnapshot, Entity>; - using EntitySnapshotT = EntitySnapshot; - Entity(); Entity(const std::string& name, const MemoryID& parentID = {}); Entity(const MemoryID& id); @@ -48,11 +46,11 @@ namespace armarx::armem::diskMemory Entity& operator=(const Entity& other); // Conversion - workingmemory::Entity convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; + wm::Entity convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; // Filesystem connection void reload(const std::shared_ptr<std::filesystem::path>&); - void append(const workingmemory::Entity&); + void append(const wm::Entity&); private: std::filesystem::path _fullPath() const; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp similarity index 88% rename from source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp index dc131b44b..43831ad04 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.cpp @@ -11,14 +11,14 @@ #include <RobotAPI/libraries/aron/core/io/dataIO/reader/nlohmannJSON/NlohmannJSONReader.h> #include <RobotAPI/libraries/aron/core/io/dataIO/writer/nlohmannJSON/NlohmannJSONWriter.h> -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { EntityInstance::EntityInstance() { } EntityInstance::EntityInstance(const EntityInstance& other) : - MemoryItem(other.id) + base::detail::MemoryItem(other.id) { } @@ -28,7 +28,7 @@ namespace armarx::armem::diskMemory } EntityInstance::EntityInstance(const MemoryID& id) : - MemoryItem(id) + base::detail::MemoryItem(id) { } @@ -64,7 +64,7 @@ namespace armarx::armem::diskMemory std::filesystem::path EntityInstance::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -76,12 +76,12 @@ namespace armarx::armem::diskMemory return path / id.memoryName / id.coreSegmentName / id.providerSegmentName / id.entityName / std::to_string(id.timestamp.toMicroSeconds()) / std::to_string(id.instanceIndex); } - workingmemory::EntityInstance EntityInstance::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const + wm::EntityInstance EntityInstance::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const { std::filesystem::path p = _fullPath(); std::filesystem::path d = p / (std::string(DATA_FILENAME) + ".json"); - if(std::filesystem::is_regular_file(d)) + if (std::filesystem::is_regular_file(d)) { std::ifstream ifs(d); std::string file_content((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>())); @@ -101,12 +101,12 @@ namespace armarx::armem::diskMemory void EntityInstance::reload(const std::shared_ptr<std::filesystem::path>& p_ptr) { - if(!p_ptr) + if (!p_ptr) { ARMARX_WARNING << "The entered is NULL."; } std::filesystem::path p = _fullPath(*p_ptr); - if(!std::filesystem::is_directory(p)) + if (!std::filesystem::is_directory(p)) { ARMARX_ERROR << "The entered path is not leading to a file! This is an error since if the folder for an EntityInstance exists there must be a data file in it (containing at least the metadata)."; } @@ -116,14 +116,14 @@ namespace armarx::armem::diskMemory } } - void EntityInstance::setTo(const workingmemory::EntityInstance& m) + void EntityInstance::setTo(const wm::EntityInstance& m) { std::filesystem::path p = _fullPath(); std::filesystem::create_directories(p); std::filesystem::path d = p / (std::string(DATA_FILENAME) + ".json"); - if(std::filesystem::is_regular_file(d)) + if (std::filesystem::is_regular_file(d)) { std::filesystem::remove(d); } @@ -141,10 +141,10 @@ namespace armarx::armem::diskMemory } - workingmemory::EntityInstance EntityInstance::unwrapData(const aron::datanavigator::DictNavigatorPtr& dataWrapped) const + wm::EntityInstance EntityInstance::unwrapData(const aron::datanavigator::DictNavigatorPtr& dataWrapped) const { - workingmemory::EntityInstance e(id); - workingmemory::EntityInstanceMetadata& metadata = e.metadata(); + wm::EntityInstance e(id); + wm::EntityInstanceMetadata& metadata = e.metadata(); if (dataWrapped->hasElement(DATA_WRAPPER_DATA_FIELD)) { @@ -167,10 +167,10 @@ namespace armarx::armem::diskMemory return e; } - aron::datanavigator::DictNavigatorPtr EntityInstance::wrapData(const workingmemory::EntityInstance& e) const + aron::datanavigator::DictNavigatorPtr EntityInstance::wrapData(const wm::EntityInstance& e) const { auto dataWrapped = std::make_shared<aron::datanavigator::DictNavigator>(); - if(e.data()) + if (e.data()) { dataWrapped->addElement(DATA_WRAPPER_DATA_FIELD, e.data()); } @@ -179,7 +179,7 @@ namespace armarx::armem::diskMemory timeWrapped->setValue(Time::now().toMicroSeconds()); dataWrapped->addElement(DATA_WRAPPER_TIME_STORED_FIELD, timeWrapped); - const workingmemory::EntityInstanceMetadata& metadata = e.metadata(); + const wm::EntityInstanceMetadata& metadata = e.metadata(); auto timeCreated = std::make_shared<aron::datanavigator::LongNavigator>(); timeCreated->setValue(metadata.timeCreated.toMicroSeconds()); dataWrapped->addElement(DATA_WRAPPER_TIME_CREATED_FIELD, timeCreated); diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h similarity index 75% rename from source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.h rename to source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h index 6eb97bd13..8e7a0fed1 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h @@ -2,22 +2,21 @@ #include <filesystem> -#include "../base/EntityInstance.h" +#include "../base/EntityInstanceBase.h" -#include "../workingMemory/EntityInstance.h" +#include "../workingmemory/EntityInstance.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief Data of a single entity instance. */ class EntityInstance : - virtual public EntityInstanceBase<EntityInstance> + virtual public base::EntityInstanceBase<EntityInstance> { + using Base = base::EntityInstanceBase<EntityInstance>; public: - using Base = EntityInstanceBase<EntityInstance>; - EntityInstance(); EntityInstance(const EntityInstance&); EntityInstance(int index, const MemoryID& parentID = {}); @@ -37,11 +36,11 @@ namespace armarx::armem::diskMemory virtual EntityInstance copy() const override; // Conversion - workingmemory::EntityInstance convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; + wm::EntityInstance convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; // Filesystem connection void reload(const std::shared_ptr<std::filesystem::path>&); - void setTo(const workingmemory::EntityInstance&); + void setTo(const wm::EntityInstance&); protected: virtual void _copySelf(EntityInstance& other) const override; @@ -50,8 +49,8 @@ namespace armarx::armem::diskMemory std::filesystem::path _fullPath() const; std::filesystem::path _fullPath(const std::filesystem::path&) const; - workingmemory::EntityInstance unwrapData(const aron::datanavigator::DictNavigatorPtr&) const; - aron::datanavigator::DictNavigatorPtr wrapData(const workingmemory::EntityInstance&) const; + wm::EntityInstance unwrapData(const aron::datanavigator::DictNavigatorPtr&) const; + aron::datanavigator::DictNavigatorPtr wrapData(const wm::EntityInstance&) const; public: std::shared_ptr<std::filesystem::path> path; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.cpp similarity index 81% rename from source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.cpp index 05e4bd68c..1f855d1a4 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { @@ -19,13 +19,13 @@ namespace armarx::armem::diskMemory } EntitySnapshot::EntitySnapshot(const MemoryID& id) : - MemoryItem(id) + base::detail::MemoryItem(id) { } EntitySnapshot::EntitySnapshot(const EntitySnapshot& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) { } @@ -37,7 +37,7 @@ namespace armarx::armem::diskMemory std::filesystem::path EntitySnapshot::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -49,9 +49,9 @@ namespace armarx::armem::diskMemory return path / id.memoryName / id.coreSegmentName / id.providerSegmentName / id.entityName / std::to_string(id.timestamp.toMicroSeconds()); } - workingmemory::EntitySnapshot EntitySnapshot::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const + wm::EntitySnapshot EntitySnapshot::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const { - workingmemory::EntitySnapshot m; + wm::EntitySnapshot m; for (const auto& s : container) { m.addInstance(s.convert(expectedStructure)); @@ -61,12 +61,12 @@ namespace armarx::armem::diskMemory void EntitySnapshot::reload(const std::shared_ptr<std::filesystem::path>& p_ptr) { - if(!p_ptr) + if (!p_ptr) { ARMARX_WARNING << "The entered is NULL."; } std::filesystem::path p = _fullPath(*p_ptr); - if(!std::filesystem::is_directory(p)) + if (!std::filesystem::is_directory(p)) { ARMARX_ERROR << "The entered path is not leading to a directory! Every EntitySnapshot must at least contain one EntityInstance."; } @@ -79,7 +79,7 @@ namespace armarx::armem::diskMemory for (int i = 0; i < 1000; ++i) { std::filesystem::path d = p / std::to_string(i); - if(std::filesystem::is_directory(d)) + if (std::filesystem::is_directory(d)) { auto wms = container.emplace_back(id.withInstanceIndex(i)); wms.reload(p_ptr); @@ -92,7 +92,7 @@ namespace armarx::armem::diskMemory } } - void EntitySnapshot::setTo(const workingmemory::EntitySnapshot& m) + void EntitySnapshot::setTo(const wm::EntitySnapshot& m) { std::filesystem::create_directories(_fullPath()); diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h similarity index 64% rename from source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.h rename to source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h index d286ce8f5..5c3cf02ff 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntitySnapshot.h @@ -2,27 +2,25 @@ #include <filesystem> -#include "../base/EntitySnapshot.h" +#include "../base/EntitySnapshotBase.h" #include "EntityInstance.h" -#include "../workingMemory/EntitySnapshot.h" +#include "../workingmemory/EntitySnapshot.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief Data of an entity at one point in time. */ class EntitySnapshot : - virtual public EntitySnapshotBase<EntityInstance, EntitySnapshot> + virtual public base::EntitySnapshotBase<EntityInstance, EntitySnapshot> { + using Base = base::EntitySnapshotBase<EntityInstance, EntitySnapshot>; public: - using Base = EntitySnapshotBase<EntityInstance, EntitySnapshot>; - using EntityInstanceT = EntityInstance; - EntitySnapshot(); EntitySnapshot(Time time, const MemoryID& parentID = {}); EntitySnapshot(const MemoryID& id); @@ -35,10 +33,10 @@ namespace armarx::armem::diskMemory // Conversion void reload(const std::shared_ptr<std::filesystem::path>&); - workingmemory::EntitySnapshot convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; + wm::EntitySnapshot convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; // MongoDB connection - void setTo(const workingmemory::EntitySnapshot&); + void setTo(const wm::EntitySnapshot&); private: std::filesystem::path _fullPath() const; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/Memory.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/Memory.cpp similarity index 81% rename from source/RobotAPI/libraries/armem/core/diskMemory/Memory.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/Memory.cpp index 0b99f1460..4ef34ffd1 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/Memory.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/Memory.cpp @@ -6,7 +6,7 @@ #include "error.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { Memory::Memory() @@ -14,18 +14,18 @@ namespace armarx::armem::diskMemory } Memory::Memory(const std::string& name) : - armarx::armem::detail::MemoryItem(MemoryID().withMemoryName(name)) + base::detail::MemoryItem(MemoryID().withMemoryName(name)) { } Memory::Memory(const MemoryID& id) : - MemoryItem(id) + base::detail::MemoryItem(id) { } Memory::Memory(const Memory& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, CoreSegment>, Memory>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, CoreSegment>, Memory>(other) { *this = other; } @@ -38,7 +38,7 @@ namespace armarx::armem::diskMemory std::filesystem::path Memory::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -50,9 +50,9 @@ namespace armarx::armem::diskMemory return path / id.memoryName; } - workingmemory::Memory Memory::convert() const + wm::Memory Memory::convert() const { - workingmemory::Memory m; + wm::Memory m; for (const auto& [_, s] : container) { m.addCoreSegment(s.convert()); @@ -62,7 +62,7 @@ namespace armarx::armem::diskMemory void Memory::reload(const std::filesystem::path& p) { - if(std::filesystem::is_regular_file(p)) + if (std::filesystem::is_regular_file(p)) { ARMARX_ERROR << "The entered path is leading to a file! Abort due to error."; } @@ -70,7 +70,7 @@ namespace armarx::armem::diskMemory container.clear(); path = std::make_shared<std::filesystem::path>(p.parent_path()); - if(!std::filesystem::exists(p)) + if (!std::filesystem::exists(p)) { ARMARX_INFO << "The entered path does not exist. Assuming an empty container."; } @@ -80,7 +80,7 @@ namespace armarx::armem::diskMemory for (const auto& d : std::filesystem::directory_iterator(p)) { - if(d.is_directory()) + if (d.is_directory()) { std::string k = d.path().filename(); auto wms = container.emplace(std::make_pair(k, id.withCoreSegmentName(k))); @@ -90,7 +90,7 @@ namespace armarx::armem::diskMemory } } - void Memory::append(const workingmemory::Memory& m) + void Memory::append(const wm::Memory& m) { std::filesystem::create_directories(_fullPath()); for (const auto& [k, s] : m.container) diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/Memory.h b/source/RobotAPI/libraries/armem/core/diskmemory/Memory.h similarity index 66% rename from source/RobotAPI/libraries/armem/core/diskMemory/Memory.h rename to source/RobotAPI/libraries/armem/core/diskmemory/Memory.h index a32b1dcc1..32bd30fa6 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/Memory.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/Memory.h @@ -2,25 +2,24 @@ #include <filesystem> -#include "../base/Memory.h" +#include "../base/MemoryBase.h" #include "CoreSegment.h" -#include "../workingMemory/Memory.h" +#include "../workingmemory/Memory.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief Data of a memory consisting of multiple core segments. */ class Memory : - virtual public MemoryBase<CoreSegment, Memory> + virtual public base::MemoryBase<CoreSegment, Memory> { - public: - using Base = MemoryBase<CoreSegment, Memory>; - using CoreSegmentT = CoreSegment; + using Base = base::MemoryBase<CoreSegment, Memory>; + public: Memory(); Memory(const std::string& name); Memory(const MemoryID& id); @@ -29,11 +28,11 @@ namespace armarx::armem::diskMemory Memory& operator=(const Memory& other); // Conversion - workingmemory::Memory convert() const; + wm::Memory convert() const; // Filesystem connection void reload(const std::filesystem::path&); - void append(const workingmemory::Memory&); + void append(const wm::Memory&); private: std::filesystem::path _fullPath() const; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.cpp similarity index 69% rename from source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.cpp rename to source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.cpp index 0afa005a8..60a8268ee 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { ProviderSegment::ProviderSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::diskMemory } ProviderSegment::ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(parentID.withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) + base::detail::MemoryItem(parentID.withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const MemoryID id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) { } ProviderSegment::ProviderSegment(const ProviderSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) { } @@ -45,7 +45,7 @@ namespace armarx::armem::diskMemory std::filesystem::path ProviderSegment::_fullPath() const { - if(path) + if (path) { return _fullPath(*path); } @@ -57,12 +57,12 @@ namespace armarx::armem::diskMemory return path / id.memoryName / id.coreSegmentName / id.providerSegmentName; } - workingmemory::ProviderSegment ProviderSegment::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const + wm::ProviderSegment ProviderSegment::convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const { - workingmemory::ProviderSegment m; + wm::ProviderSegment m; for (const auto& [_, s] : container) { - if(hasAronType()) + if (hasAronType()) { m.addEntity(s.convert(aronType)); } @@ -76,12 +76,12 @@ namespace armarx::armem::diskMemory void ProviderSegment::reload(const std::shared_ptr<std::filesystem::path>& p_ptr) { - if(!p_ptr) + if (!p_ptr) { ARMARX_WARNING << "The entered is NULL."; } std::filesystem::path p = _fullPath(*p_ptr); - if(std::filesystem::is_regular_file(p)) + if (std::filesystem::is_regular_file(p)) { ARMARX_ERROR << "The entered path is leading to a file! Abort due to error."; } @@ -89,7 +89,7 @@ namespace armarx::armem::diskMemory container.clear(); path = p_ptr; - if(!std::filesystem::exists(p)) + if (!std::filesystem::exists(p)) { ARMARX_INFO << "The entered path does not exist. Assuming an empty container."; } @@ -97,14 +97,14 @@ namespace armarx::armem::diskMemory { for (const auto& d : std::filesystem::directory_iterator(p)) { - if(d.is_directory()) + if (d.is_directory()) { std::string k = d.path().filename(); auto wms = container.emplace(std::make_pair(k, id.withEntityName(k))); wms.first->second.reload(p_ptr); } - if(d.is_regular_file()) + if (d.is_regular_file()) { readAronType(d.path()); } @@ -112,7 +112,7 @@ namespace armarx::armem::diskMemory } } - void ProviderSegment::append(const workingmemory::ProviderSegment& m) + void ProviderSegment::append(const wm::ProviderSegment& m) { std::filesystem::create_directories(_fullPath()); writeAronType(_fullPath()); diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.h b/source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.h similarity index 66% rename from source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.h rename to source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.h index 2a2033d74..c3a5f1dfd 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/ProviderSegment.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/ProviderSegment.h @@ -2,28 +2,27 @@ #include <filesystem> -#include "../base/ProviderSegment.h" +#include "../base/ProviderSegmentBase.h" #include "detail/TypedEntityContainer.h" #include "Entity.h" -#include "../workingMemory/ProviderSegment.h" +#include "../workingmemory/ProviderSegment.h" -namespace armarx::armem::diskMemory +namespace armarx::armem::d_ltm { /** * @brief Data of a provider segment containing multiple entities. */ class ProviderSegment : - virtual public ProviderSegmentBase<Entity, ProviderSegment>, - virtual public detail::TypedEntityContainer<Entity, ProviderSegment> + virtual public base::ProviderSegmentBase<Entity, ProviderSegment>, + virtual public detail::TypedEntityContainer<Entity, ProviderSegment> { - public: - using Base = ProviderSegmentBase<Entity, ProviderSegment>; - using EntityT = Entity; + using Base = base::ProviderSegmentBase<Entity, ProviderSegment>; + public: ProviderSegment(); ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); @@ -33,11 +32,11 @@ namespace armarx::armem::diskMemory ProviderSegment& operator=(const ProviderSegment& other); // Conversion - workingmemory::ProviderSegment convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; + wm::ProviderSegment convert(const aron::typenavigator::NavigatorPtr& expectedStructure) const; // Filesystem connection void reload(const std::shared_ptr<std::filesystem::path>&); - void append(const workingmemory::ProviderSegment&); + void append(const wm::ProviderSegment&); private: std::filesystem::path _fullPath() const; diff --git a/source/RobotAPI/libraries/armem/core/diskMemory/detail/TypedEntityContainer.h b/source/RobotAPI/libraries/armem/core/diskmemory/detail/TypedEntityContainer.h similarity index 90% rename from source/RobotAPI/libraries/armem/core/diskMemory/detail/TypedEntityContainer.h rename to source/RobotAPI/libraries/armem/core/diskmemory/detail/TypedEntityContainer.h index 205cffa96..f17bbc077 100644 --- a/source/RobotAPI/libraries/armem/core/diskMemory/detail/TypedEntityContainer.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/detail/TypedEntityContainer.h @@ -3,7 +3,7 @@ #include <iostream> #include <fstream> -#include "../../base/detail/TypedEntityContainer.h" +#include "../../base/detail/TypedEntityContainerBase.h" #include "../Entity.h" #include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> @@ -13,7 +13,7 @@ #include <RobotAPI/libraries/aron/core/io/typeIO/writer/navigator/NavigatorWriter.h> #include <RobotAPI/libraries/aron/core/io/typeIO/writer/nlohmannJSON/NlohmannJSONWriter.h> -namespace armarx::armem::diskMemory::detail +namespace armarx::armem::d_ltm::detail { /** @@ -21,9 +21,9 @@ namespace armarx::armem::diskMemory::detail */ template <class _ValueT, class Derived> class TypedEntityContainer : - virtual public armarx::armem::detail::TypedEntityContainerBase<_ValueT, Entity, Derived> + virtual public base::detail::TypedEntityContainerBase<_ValueT, Entity, Derived> { - using Base = armarx::armem::detail::TypedEntityContainerBase<_ValueT, Entity, Derived>; + using Base = base::detail::TypedEntityContainerBase<_ValueT, Entity, Derived>; public: TypedEntityContainer& operator=(const TypedEntityContainer& other) @@ -56,9 +56,9 @@ namespace armarx::armem::diskMemory::detail using Base::aronType; void readAronType(const std::filesystem::path& d) { - if(std::filesystem::is_regular_file(d)) + if (std::filesystem::is_regular_file(d)) { - if(d.filename() == (std::string(TYPE_FILENAME) + ".json")) + if (d.filename() == (std::string(TYPE_FILENAME) + ".json")) { std::ifstream ifs(d); std::string file_content((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>())); @@ -74,7 +74,7 @@ namespace armarx::armem::diskMemory::detail using Base::hasAronType; void writeAronType(const std::filesystem::path& d) { - if(hasAronType()) + if (hasAronType()) { std::ofstream ofs; ofs.open(d); diff --git a/source/RobotAPI/libraries/armem/core/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/ice_conversions.cpp index 32c881951..0a9774020 100644 --- a/source/RobotAPI/libraries/armem/core/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/ice_conversions.cpp @@ -145,12 +145,12 @@ namespace armarx } - void armem::detail::toIceItem(data::detail::MemoryItem& ice, const MemoryItem& item) + void armem::detail::toIceItem(data::detail::MemoryItem& ice, const armem::base::detail::MemoryItem& item) { toIce(ice.id, item.id); } - void armem::detail::fromIceItem(const data::detail::MemoryItem& ice, MemoryItem& item) + void armem::detail::fromIceItem(const data::detail::MemoryItem& ice, armem::base::detail::MemoryItem& item) { fromIce(ice.id, item.id); } diff --git a/source/RobotAPI/libraries/armem/core/ice_conversions.h b/source/RobotAPI/libraries/armem/core/ice_conversions.h index 6aa4ac524..874684cac 100644 --- a/source/RobotAPI/libraries/armem/core/ice_conversions.h +++ b/source/RobotAPI/libraries/armem/core/ice_conversions.h @@ -54,8 +54,8 @@ namespace armarx::armem namespace detail { - void toIceItem(data::detail::MemoryItem& ice, const MemoryItem& item); - void fromIceItem(const data::detail::MemoryItem& ice, MemoryItem& item); + void toIceItem(data::detail::MemoryItem& ice, const armem::base::detail::MemoryItem& item); + void fromIceItem(const data::detail::MemoryItem& ice, armem::base::detail::MemoryItem& item); } } diff --git a/source/RobotAPI/libraries/armem/core/ice_conversions_templates.h b/source/RobotAPI/libraries/armem/core/ice_conversions_templates.h index dc5c3fff5..1001fd1f9 100644 --- a/source/RobotAPI/libraries/armem/core/ice_conversions_templates.h +++ b/source/RobotAPI/libraries/armem/core/ice_conversions_templates.h @@ -22,12 +22,29 @@ namespace armarx::armem } - // General return version + // Ice Handle + template <class IceT, class CppT> + void toIce(::IceInternal::Handle<IceT>& ice, const CppT& cpp) + { + ice = new IceT(); + toIce(*ice, cpp); + } + template <class IceT, class CppT> + void fromIce(const ::IceInternal::Handle<IceT>& ice, CppT& cpp) + { + if (ice) + { + fromIce(*ice, cpp); + } + } + + + // General return version template <class IceT, class CppT> IceT toIce(const CppT& cpp) { - IceT ice = {}; + IceT ice; toIce(ice, cpp); return ice; } @@ -57,24 +74,6 @@ namespace armarx::armem } - // Ice Handle - - template <class IceT, class CppT> - void toIce(::IceInternal::Handle<IceT>& ice, const CppT& cpp) - { - ice = new IceT(); - toIce(*ice, cpp); - } - template <class IceT, class CppT> - void fromIce(const ::IceInternal::Handle<IceT>& ice, CppT& cpp) - { - if (ice) - { - fromIce(*ice, cpp); - } - } - - // Ice Handle <-> std::unique_ptr template <class IceT, class CppT> diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp similarity index 55% rename from source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp index 5491d6f9a..b98a0d5ef 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { CoreSegment::CoreSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::longtermmemory } CoreSegment::CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const MemoryID& id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) { } CoreSegment::CoreSegment(const CoreSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) { } @@ -43,9 +43,9 @@ namespace armarx::armem::longtermmemory return *this; } - workingmemory::CoreSegment CoreSegment::convert() const + wm::CoreSegment CoreSegment::convert() const { - workingmemory::CoreSegment m; + wm::CoreSegment m; for (const auto& [_, s] : container) { m.addProviderSegment(s.convert()); @@ -53,7 +53,7 @@ namespace armarx::armem::longtermmemory return m; } - void CoreSegment::append(const workingmemory::CoreSegment& m) + void CoreSegment::append(const wm::CoreSegment& m) { for (const auto& [k, s] : m.container) { diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h similarity index 63% rename from source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h index ed8b60c67..59bb7830d 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/CoreSegment.h @@ -1,25 +1,24 @@ #pragma once -#include "../base/CoreSegment.h" +#include "../base/CoreSegmentBase.h" #include "ProviderSegment.h" -#include "../workingMemory/CoreSegment.h" +#include "../workingmemory/CoreSegment.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** * @brief Data of a core segment containing multiple provider segments. */ class CoreSegment : - virtual public CoreSegmentBase<ProviderSegment, CoreSegment> + virtual public base::CoreSegmentBase<ProviderSegment, CoreSegment> { - public: - using Base = CoreSegmentBase<ProviderSegment, CoreSegment>; - using ProviderSegmentT = ProviderSegment; + using Base = base::CoreSegmentBase<ProviderSegment, CoreSegment>; + public: CoreSegment(); CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); @@ -29,10 +28,10 @@ namespace armarx::armem::longtermmemory CoreSegment& operator=(const CoreSegment& other); // Conversion - workingmemory::CoreSegment convert() const; + wm::CoreSegment convert() const; // MongoDB connection - void append(const workingmemory::CoreSegment&); + void append(const wm::CoreSegment&); }; } diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp similarity index 66% rename from source/RobotAPI/libraries/armem/core/longtermMemory/Entity.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp index f6c73743e..c0de42c68 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/Entity.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp @@ -1,6 +1,6 @@ #include "Entity.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { Entity::Entity() @@ -8,18 +8,18 @@ namespace armarx::armem::longtermmemory } Entity::Entity(const std::string& name, const MemoryID& parentID) : - armarx::armem::detail::MemoryItem(parentID.withEntityName(name)) + base::detail::MemoryItem(parentID.withEntityName(name)) { } Entity::Entity(const MemoryID& id) : - armarx::armem::detail::MemoryItem(id) + base::detail::MemoryItem(id) { } Entity::Entity(const Entity& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) { } @@ -29,9 +29,9 @@ namespace armarx::armem::longtermmemory return *this; } - workingmemory::Entity Entity::convert() const + wm::Entity Entity::convert() const { - workingmemory::Entity m; + wm::Entity m; for (const auto& [_, s] : container) { m.addSnapshot(s.convert()); @@ -39,7 +39,7 @@ namespace armarx::armem::longtermmemory return m; } - void Entity::append(const workingmemory::Entity& m) + void Entity::append(const wm::Entity& m) { for (const auto& [k, s] : m.container) { diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/Entity.h b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h similarity index 75% rename from source/RobotAPI/libraries/armem/core/longtermMemory/Entity.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h index edc46900e..79d81340e 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/Entity.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h @@ -1,13 +1,13 @@ #pragma once -#include "../base/Entity.h" +#include "../base/EntityBase.h" #include "EntitySnapshot.h" -#include "../workingMemory/Entity.h" +#include "../workingmemory/Entity.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** * @brief An entity over a period of time. @@ -29,13 +29,11 @@ namespace armarx::armem::longtermmemory * each containing a single `AronData` object of a specific `AronType`. */ class Entity : - virtual public EntityBase<EntitySnapshot, Entity> + virtual public base::EntityBase<EntitySnapshot, Entity> { + using Base = base::EntityBase<EntitySnapshot, Entity>; public: - using Base = EntityBase<EntitySnapshot, Entity>; - using EntitySnapshotT = EntitySnapshot; - Entity(); Entity(const std::string& name, const MemoryID& parentID = {}); Entity(const MemoryID& id); @@ -46,10 +44,10 @@ namespace armarx::armem::longtermmemory Entity& operator=(const Entity& other); // Conversion - workingmemory::Entity convert() const; + wm::Entity convert() const; // MongoDB connection - void append(const workingmemory::Entity&); + void append(const wm::Entity&); }; } diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp similarity index 89% rename from source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp index d4770ded9..44bbca24d 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.cpp @@ -2,7 +2,7 @@ #include <ArmarXCore/core/exceptions/local/ExpressionException.h> -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { bool EntityInstanceMetadata::operator==(const EntityInstanceMetadata& other) const @@ -29,7 +29,7 @@ namespace armarx::armem::longtermmemory } EntityInstance::EntityInstance(const MemoryID& id) : - MemoryItem(id) + base::detail::MemoryItem(id) { } @@ -69,13 +69,13 @@ namespace armarx::armem::longtermmemory other._metadata = _metadata; } - workingmemory::EntityInstance EntityInstance::convert() const + wm::EntityInstance EntityInstance::convert() const { - workingmemory::EntityInstance m; + wm::EntityInstance m; return m; } - void EntityInstance::setTo(const workingmemory::EntityInstance& m) + void EntityInstance::setTo(const wm::EntityInstance& m) { ARMARX_IMPORTANT << "Longtermmemory received an entity instance: " << m.id.str(); } diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h similarity index 84% rename from source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h index 76e594567..ee94fbfbb 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h @@ -1,10 +1,10 @@ #pragma once -#include "../base/EntityInstance.h" +#include "../base/EntityInstanceBase.h" -#include "../workingMemory/EntityInstance.h" +#include "../workingmemory/EntityInstance.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** @@ -34,12 +34,11 @@ namespace armarx::armem::longtermmemory * @brief Data of a single entity instance. */ class EntityInstance : - virtual public EntityInstanceBase<EntityInstance> + virtual public base::EntityInstanceBase<EntityInstance> { + using Base = base::EntityInstanceBase<EntityInstance>; public: - using Base = EntityInstanceBase<EntityInstance>; - EntityInstance(); EntityInstance(const EntityInstance&); EntityInstance(int index, const MemoryID& parentID = {}); @@ -69,10 +68,10 @@ namespace armarx::armem::longtermmemory virtual EntityInstance copy() const override; // Conversion - workingmemory::EntityInstance convert() const; + wm::EntityInstance convert() const; // MongoDB connection - void setTo(const workingmemory::EntityInstance&); + void setTo(const wm::EntityInstance&); protected: virtual void _copySelf(EntityInstance& other) const override; diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.cpp similarity index 74% rename from source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.cpp index 0338e6577..0cf13f021 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { @@ -24,8 +24,8 @@ namespace armarx::armem::longtermmemory } EntitySnapshot::EntitySnapshot(const EntitySnapshot& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) { } @@ -35,9 +35,9 @@ namespace armarx::armem::longtermmemory return *this; } - workingmemory::EntitySnapshot EntitySnapshot::convert() const + wm::EntitySnapshot EntitySnapshot::convert() const { - workingmemory::EntitySnapshot m; + wm::EntitySnapshot m; for (const auto& s : container) { m.addInstance(s.convert()); @@ -45,7 +45,7 @@ namespace armarx::armem::longtermmemory return m; } - void EntitySnapshot::setTo(const workingmemory::EntitySnapshot& m) + void EntitySnapshot::setTo(const wm::EntitySnapshot& m) { // We remove the contente here and reset it with new values container.clear(); diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h similarity index 57% rename from source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h index 16dc077f3..b8c3f491d 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntitySnapshot.h @@ -1,26 +1,24 @@ #pragma once -#include "../base/EntitySnapshot.h" +#include "../base/EntitySnapshotBase.h" #include "EntityInstance.h" -#include "../workingMemory/EntitySnapshot.h" +#include "../workingmemory/EntitySnapshot.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** * @brief Data of an entity at one point in time. */ class EntitySnapshot : - virtual public EntitySnapshotBase<EntityInstance, EntitySnapshot> + virtual public base::EntitySnapshotBase<EntityInstance, EntitySnapshot> { + using Base = base::EntitySnapshotBase<EntityInstance, EntitySnapshot>; public: - using Base = EntitySnapshotBase<EntityInstance, EntitySnapshot>; - using EntityInstanceT = EntityInstance; - EntitySnapshot(); EntitySnapshot(Time time, const MemoryID& parentID = {}); EntitySnapshot(const MemoryID& id); @@ -32,9 +30,9 @@ namespace armarx::armem::longtermmemory EntitySnapshot& operator=(const EntitySnapshot& other); // Conversion - workingmemory::EntitySnapshot convert() const; + wm::EntitySnapshot convert() const; // MongoDB connection - void setTo(const workingmemory::EntitySnapshot&); + void setTo(const wm::EntitySnapshot&); }; } diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/Memory.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.cpp similarity index 76% rename from source/RobotAPI/libraries/armem/core/longtermMemory/Memory.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/Memory.cpp index 2aa247f12..9b5779c59 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/Memory.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.cpp @@ -6,7 +6,7 @@ #include "error.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { Memory::Memory() @@ -14,7 +14,7 @@ namespace armarx::armem::longtermmemory } Memory::Memory(const std::string& name) : - armarx::armem::detail::MemoryItem(MemoryID().withMemoryName(name)) + base::detail::MemoryItem(MemoryID().withMemoryName(name)) { } @@ -24,8 +24,8 @@ namespace armarx::armem::longtermmemory } Memory::Memory(const Memory& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, CoreSegment>, Memory>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, CoreSegment>, Memory>(other) { *this = other; } @@ -36,9 +36,9 @@ namespace armarx::armem::longtermmemory return *this; } - workingmemory::Memory Memory::convert() const + wm::Memory Memory::convert() const { - workingmemory::Memory m; + wm::Memory m; for (const auto& [_, s] : container) { m.addCoreSegment(s.convert()); @@ -52,7 +52,7 @@ namespace armarx::armem::longtermmemory std::cout << "Setting connection to: " << settings.uniqueString() << std::endl; } - void Memory::append(const workingmemory::Memory& m) + void Memory::append(const wm::Memory& m) { for (const auto& [k, s] : m.container) { diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/Memory.h b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h similarity index 63% rename from source/RobotAPI/libraries/armem/core/longtermMemory/Memory.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h index ab7c8b90f..1085de776 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/Memory.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Memory.h @@ -1,24 +1,23 @@ #pragma once -#include "../base/Memory.h" +#include "../base/MemoryBase.h" #include "CoreSegment.h" -#include "../workingMemory/Memory.h" +#include "../workingmemory/Memory.h" #include "mongodb/MongoDBConnectionManager.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** * @brief Data of a memory consisting of multiple core segments. */ class Memory : - virtual public MemoryBase<CoreSegment, Memory> + virtual public base::MemoryBase<CoreSegment, Memory> { - public: - using Base = MemoryBase<CoreSegment, Memory>; - using CoreSegmentT = CoreSegment; + using Base = base::MemoryBase<CoreSegment, Memory>; + public: Memory(); Memory(const std::string& name); Memory(const MemoryID& id); @@ -28,11 +27,11 @@ namespace armarx::armem::longtermmemory // Conversion - workingmemory::Memory convert() const; + wm::Memory convert() const; // MongoDB connection void reload(const MongoDBConnectionManager::MongoDBSettings&); - void append(const workingmemory::Memory&); + void append(const wm::Memory&); public: diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.cpp similarity index 55% rename from source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.cpp rename to source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.cpp index cd00c797c..e527b2af5 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { ProviderSegment::ProviderSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::longtermmemory } ProviderSegment::ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(parentID.withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) + base::detail::MemoryItem(parentID.withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const MemoryID id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) { } ProviderSegment::ProviderSegment(const ProviderSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) { } @@ -43,9 +43,9 @@ namespace armarx::armem::longtermmemory return *this; } - workingmemory::ProviderSegment ProviderSegment::convert() const + wm::ProviderSegment ProviderSegment::convert() const { - workingmemory::ProviderSegment m; + wm::ProviderSegment m; for (const auto& [_, s] : container) { m.addEntity(s.convert()); @@ -53,7 +53,7 @@ namespace armarx::armem::longtermmemory return m; } - void ProviderSegment::append(const workingmemory::ProviderSegment& m) + void ProviderSegment::append(const wm::ProviderSegment& m) { for (const auto& [k, s] : m.container) { diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.h b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h similarity index 64% rename from source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h index 0ccff9600..5ac77dad6 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/ProviderSegment.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/ProviderSegment.h @@ -1,25 +1,24 @@ #pragma once -#include "../base/ProviderSegment.h" +#include "../base/ProviderSegmentBase.h" #include "Entity.h" -#include "../workingMemory/ProviderSegment.h" +#include "../workingmemory/ProviderSegment.h" -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** * @brief Data of a provider segment containing multiple entities. */ class ProviderSegment : - virtual public ProviderSegmentBase<Entity, ProviderSegment> + virtual public base::ProviderSegmentBase<Entity, ProviderSegment> { - public: - using Base = ProviderSegmentBase<Entity, ProviderSegment>; - using EntityT = Entity; + using Base = base::ProviderSegmentBase<Entity, ProviderSegment>; + public: ProviderSegment(); ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); @@ -29,10 +28,10 @@ namespace armarx::armem::longtermmemory ProviderSegment& operator=(const ProviderSegment& other); // Conversion - workingmemory::ProviderSegment convert() const; + wm::ProviderSegment convert() const; // MongoDB connection - void append(const workingmemory::ProviderSegment&); + void append(const wm::ProviderSegment&); }; } diff --git a/source/RobotAPI/libraries/armem/core/longtermMemory/mongodb/MongoDBConnectionManager.h b/source/RobotAPI/libraries/armem/core/longtermmemory/mongodb/MongoDBConnectionManager.h similarity index 94% rename from source/RobotAPI/libraries/armem/core/longtermMemory/mongodb/MongoDBConnectionManager.h rename to source/RobotAPI/libraries/armem/core/longtermmemory/mongodb/MongoDBConnectionManager.h index 799b59d86..02c25965f 100644 --- a/source/RobotAPI/libraries/armem/core/longtermMemory/mongodb/MongoDBConnectionManager.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/mongodb/MongoDBConnectionManager.h @@ -5,7 +5,7 @@ #include <map> #include <memory> -namespace armarx::armem::longtermmemory +namespace armarx::armem::ltm { /** @@ -36,7 +36,7 @@ namespace armarx::armem::longtermmemory { const auto str_rep = settings.uniqueString(); const auto& it = Connections.find(str_rep); - if(it == Connections.end()) + if (it == Connections.end()) { auto con = Connections.emplace(str_rep, 0); return con.first->second; diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.cpp b/source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.cpp deleted file mode 100644 index 9fd73048f..000000000 --- a/source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "MemoryContainer.h" - - -namespace armarx::armem::detail -{ - -} diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h b/source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h deleted file mode 100644 index a48fe734b..000000000 --- a/source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include <RobotAPI/interface/armem/commit.h> -#include <RobotAPI/interface/armem/memory.h> - -#include "Memory.h" - - -namespace armarx::armem -{ - void toIce(data::EntityInstanceMetadata& ice, const workingmemory::EntityInstanceMetadata& metadata); - void fromIce(const data::EntityInstanceMetadata& ice, workingmemory::EntityInstanceMetadata& metadata); - - void toIce(data::EntityInstance& ice, const workingmemory::EntityInstance& data); - void fromIce(const data::EntityInstance& ice, workingmemory::EntityInstance& data); - - - void toIce(data::EntitySnapshot& ice, const workingmemory::EntitySnapshot& snapshot); - void fromIce(const data::EntitySnapshot& ice, workingmemory::EntitySnapshot& snapshot); - - void toIce(data::Entity& ice, const workingmemory::Entity& entity); - void fromIce(const data::Entity& ice, workingmemory::Entity& entity); - - - void toIce(data::ProviderSegment& ice, const workingmemory::ProviderSegment& providerSegment); - void fromIce(const data::ProviderSegment& ice, workingmemory::ProviderSegment& providerSegment); - - void toIce(data::CoreSegment& ice, const workingmemory::CoreSegment& coreSegment); - void fromIce(const data::CoreSegment& ice, workingmemory::CoreSegment& coreSegment); - - void toIce(data::Memory& ice, const workingmemory::Memory& memory); - void fromIce(const data::Memory& ice, workingmemory::Memory& memory); -} - -// Must be included after the prototypes. Otherwise the compiler cannot find the correct methods in ice_coversion_templates.h -#include "../ice_conversions.h" diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp similarity index 57% rename from source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp index 447dad9c5..3c9fe0364 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { CoreSegment::CoreSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::workingmemory } CoreSegment::CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(MemoryID().withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withCoreSegmentName(name)), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(parentID.withCoreSegmentName(name), aronType) { } CoreSegment::CoreSegment(const MemoryID& id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(id, aronType) { } CoreSegment::CoreSegment(const CoreSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, ProviderSegment>, CoreSegment>(other), + base::detail::TypedEntityContainerBase<ProviderSegment, Entity, CoreSegment>(other) { } diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h similarity index 78% rename from source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.h rename to source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h index 3dcd65d9e..d727b408b 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h @@ -1,25 +1,24 @@ #pragma once -#include "../base/CoreSegment.h" +#include "../base/CoreSegmentBase.h" #include "ProviderSegment.h" #include "detail/TypedEntityContainer.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** * @brief Data of a core segment containing multiple provider segments. */ class CoreSegment : - virtual public CoreSegmentBase<ProviderSegment, CoreSegment>, + virtual public base::CoreSegmentBase<ProviderSegment, CoreSegment>, virtual public detail::TypedEntityContainer<ProviderSegment, CoreSegment> { - public: - using Base = CoreSegmentBase<ProviderSegment, CoreSegment>; - using ProviderSegmentT = ProviderSegment; + using Base = base::CoreSegmentBase<ProviderSegment, CoreSegment>; + public: CoreSegment(); CoreSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); CoreSegment(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/Entity.cpp similarity index 71% rename from source/RobotAPI/libraries/armem/core/workingMemory/Entity.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/Entity.cpp index 4880da0ea..75fddfd55 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/Entity.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/Entity.cpp @@ -1,6 +1,6 @@ #include "Entity.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { Entity::Entity() @@ -8,18 +8,18 @@ namespace armarx::armem::workingmemory } Entity::Entity(const std::string& name, const MemoryID& parentID) : - armarx::armem::detail::MemoryItem(parentID.withEntityName(name)) + base::detail::MemoryItem(parentID.withEntityName(name)) { } Entity::Entity(const MemoryID& id) : - armarx::armem::detail::MemoryItem(id) + base::detail::MemoryItem(id) { } Entity::Entity(const Entity& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<Time, EntitySnapshot>, Entity>(other) { } diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/Entity.h b/source/RobotAPI/libraries/armem/core/workingmemory/Entity.h similarity index 85% rename from source/RobotAPI/libraries/armem/core/workingMemory/Entity.h rename to source/RobotAPI/libraries/armem/core/workingmemory/Entity.h index e1054a7e8..9d213e92f 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/Entity.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/Entity.h @@ -1,12 +1,12 @@ #pragma once -#include "../base/Entity.h" +#include "../base/EntityBase.h" #include "EntitySnapshot.h" #include "detail/MemoryContainer.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** * @brief An entity over a period of time. @@ -28,14 +28,12 @@ namespace armarx::armem::workingmemory * each containing a single `AronData` object of a specific `AronType`. */ class Entity : - virtual public EntityBase<EntitySnapshot, Entity>, + virtual public base::EntityBase<EntitySnapshot, Entity>, virtual public detail::MemoryContainer<std::map<Time, EntitySnapshot>, Entity> { + using Base = base::EntityBase<EntitySnapshot, Entity>; public: - using Base = EntityBase<EntitySnapshot, Entity>; - using EntitySnapshotT = EntitySnapshot; - Entity(); Entity(const std::string& name, const MemoryID& parentID = {}); Entity(const MemoryID& id); diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp similarity index 95% rename from source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp index cffa83499..ce62d0164 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.cpp @@ -3,7 +3,7 @@ #include <ArmarXCore/core/exceptions/local/ExpressionException.h> -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { bool EntityInstanceMetadata::operator==(const EntityInstanceMetadata& other) const @@ -19,7 +19,7 @@ namespace armarx::armem::workingmemory } EntityInstance::EntityInstance(const EntityInstance& other) : - MemoryItem(other.id), + base::detail::MemoryItem(other.id), _metadata(other._metadata), _data(other._data) { @@ -31,7 +31,7 @@ namespace armarx::armem::workingmemory } EntityInstance::EntityInstance(const MemoryID& id) : - MemoryItem(id) + base::detail::MemoryItem(id) { } diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.h similarity index 92% rename from source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.h rename to source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.h index 589290441..cbfe38200 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/EntityInstance.h @@ -1,8 +1,8 @@ #pragma once -#include "../base/EntityInstance.h" +#include "../base/EntityInstanceBase.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** @@ -32,12 +32,11 @@ namespace armarx::armem::workingmemory * @brief Data of a single entity instance. */ class EntityInstance : - virtual public EntityInstanceBase<EntityInstance> + virtual public base::EntityInstanceBase<EntityInstance> { + using Base = base::EntityInstanceBase<EntityInstance>; public: - using Base = EntityInstanceBase<EntityInstance>; - EntityInstance(); EntityInstance(const EntityInstance&); EntityInstance(int index, const MemoryID& parentID = {}); diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.cpp similarity index 84% rename from source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.cpp index be3f08204..124645de9 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { @@ -24,8 +24,8 @@ namespace armarx::armem::workingmemory } EntitySnapshot::EntitySnapshot(const EntitySnapshot& other) : - armarx::armem::detail::MemoryItem(other), - armarx::armem::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::vector<EntityInstance>, EntitySnapshot>(other) { } diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.h b/source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.h similarity index 74% rename from source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.h rename to source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.h index 7f88288ea..5f18288ba 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/EntitySnapshot.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/EntitySnapshot.h @@ -1,26 +1,24 @@ #pragma once -#include "../base/EntitySnapshot.h" +#include "../base/EntitySnapshotBase.h" #include "EntityInstance.h" #include "detail/MemoryContainer.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** * @brief Data of an entity at one point in time. */ class EntitySnapshot : - virtual public EntitySnapshotBase<EntityInstance, EntitySnapshot>, + virtual public base::EntitySnapshotBase<EntityInstance, EntitySnapshot>, virtual public detail::MemoryContainer<std::vector<EntityInstance>, EntitySnapshot> { + using Base = base::EntitySnapshotBase<EntityInstance, EntitySnapshot>; public: - using Base = EntitySnapshotBase<EntityInstance, EntitySnapshot>; - using EntityInstanceT = EntityInstance; - EntitySnapshot(); EntitySnapshot(Time time, const MemoryID& parentID = {}); EntitySnapshot(const MemoryID& id); diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/Memory.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/Memory.cpp similarity index 85% rename from source/RobotAPI/libraries/armem/core/workingMemory/Memory.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/Memory.cpp index 31e380522..706d26bcc 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/Memory.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/Memory.cpp @@ -6,7 +6,7 @@ #include "error.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { Memory::Memory() @@ -14,7 +14,7 @@ namespace armarx::armem::workingmemory } Memory::Memory(const std::string& name) : - armarx::armem::detail::MemoryItem(MemoryID().withMemoryName(name)) + base::detail::MemoryItem(MemoryID().withMemoryName(name)) { } @@ -24,7 +24,7 @@ namespace armarx::armem::workingmemory } Memory::Memory(const Memory& other) : - armarx::armem::detail::MemoryItem(other), + base::detail::MemoryItem(other), MemoryContainerBase<std::map<std::string, CoreSegment>, Memory>(other) { *this = other; diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/Memory.h b/source/RobotAPI/libraries/armem/core/workingmemory/Memory.h similarity index 73% rename from source/RobotAPI/libraries/armem/core/workingMemory/Memory.h rename to source/RobotAPI/libraries/armem/core/workingmemory/Memory.h index 7ec0f660f..d747ded5e 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/Memory.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/Memory.h @@ -1,24 +1,23 @@ #pragma once -#include "../base/Memory.h" +#include "../base/MemoryBase.h" #include "CoreSegment.h" #include "detail/EntityContainer.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** * @brief Data of a memory consisting of multiple core segments. */ class Memory : - virtual public MemoryBase<CoreSegment, Memory>, + virtual public base::MemoryBase<CoreSegment, Memory>, virtual public detail::EntityContainer<CoreSegment, Memory> { - public: - using Base = MemoryBase<CoreSegment, Memory>; - using CoreSegmentT = CoreSegment; + using Base = base::MemoryBase<CoreSegment, Memory>; + public: Memory(); Memory(const std::string& name); Memory(const MemoryID& id); diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.cpp similarity index 58% rename from source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.cpp index 652edf3ce..dbf436b65 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.cpp @@ -5,7 +5,7 @@ #include "error.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { ProviderSegment::ProviderSegment() @@ -13,27 +13,27 @@ namespace armarx::armem::workingmemory } ProviderSegment::ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) + base::detail::MemoryItem(MemoryID().withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(MemoryID().withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(parentID.withProviderSegmentName(name)), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) + base::detail::MemoryItem(parentID.withProviderSegmentName(name)), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(parentID.withProviderSegmentName(name), aronType) { } ProviderSegment::ProviderSegment(const MemoryID id, aron::typenavigator::ObjectNavigatorPtr aronType) : - armarx::armem::detail::MemoryItem(id), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) + base::detail::MemoryItem(id), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(id, aronType) { } ProviderSegment::ProviderSegment(const ProviderSegment& other) : - armarx::armem::detail::MemoryItem(other), - MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), - armarx::armem::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) + base::detail::MemoryItem(other), + base::detail::MemoryContainerBase<std::map<std::string, Entity>, ProviderSegment>(other), + base::detail::TypedEntityContainerBase<Entity, Entity, ProviderSegment>(other) { } diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.h b/source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.h similarity index 79% rename from source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.h rename to source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.h index 4596041a2..542ec3dc5 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.h @@ -1,25 +1,24 @@ #pragma once -#include "../base/ProviderSegment.h" +#include "../base/ProviderSegmentBase.h" #include "Entity.h" #include "detail/TypedEntityContainer.h" -namespace armarx::armem::workingmemory +namespace armarx::armem::wm { /** * @brief Data of a provider segment containing multiple entities. */ class ProviderSegment : - virtual public ProviderSegmentBase<Entity, ProviderSegment>, + virtual public base::ProviderSegmentBase<Entity, ProviderSegment>, virtual public detail::TypedEntityContainer<Entity, ProviderSegment> { - public: - using Base = ProviderSegmentBase<Entity, ProviderSegment>; - using EntityT = Entity; + using Base = base::ProviderSegmentBase<Entity, ProviderSegment>; + public: ProviderSegment(); ProviderSegment(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); ProviderSegment(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/detail/EntityContainer.h b/source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.h similarity index 68% rename from source/RobotAPI/libraries/armem/core/workingMemory/detail/EntityContainer.h rename to source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.h index 05c491b21..431d13624 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/detail/EntityContainer.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/detail/EntityContainer.h @@ -1,6 +1,6 @@ #pragma once -#include "../../base/detail/EntityContainer.h" +#include "../../base/detail/EntityContainerBase.h" #include "MemoryContainer.h" #include "../Entity.h" @@ -8,7 +8,7 @@ #include "../EntityInstance.h" -namespace armarx::armem::workingmemory::detail +namespace armarx::armem::wm::detail { /** @@ -16,10 +16,10 @@ namespace armarx::armem::workingmemory::detail * * Can be updated by multiple entity updates. */ - template <class _ValueT, class Derived> + template <class _ValueT, class _Derived> class EntityContainer : - virtual public armarx::armem::detail::EntityContainerBase<_ValueT, Entity, Derived>, - virtual public MemoryContainer<std::map<std::string, _ValueT>, Derived> + virtual public base::detail::EntityContainerBase<_ValueT, Entity, _Derived>, + virtual public MemoryContainer<std::map<std::string, _ValueT>, _Derived> { public: EntityContainer& operator=(const EntityContainer& other) diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.h b/source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.h similarity index 55% rename from source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.h rename to source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.h index c3633b651..a915c8714 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/detail/MemoryContainer.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/detail/MemoryContainer.h @@ -4,20 +4,22 @@ #include "../../error.h" -#include "../../base/detail/MemoryContainer.h" +#include "../../base/detail/MemoryContainerBase.h" -namespace armarx::armem::workingmemory::detail +namespace armarx::armem::wm::detail { /** * @class Provides default implmentations of `MemoryContainer`, as well as * iterators (which requires a template). */ - template <class _ContainerT, class Derived> + template <class _ContainerT, class _Derived> class MemoryContainer : - virtual public armarx::armem::detail::MemoryContainerBase<_ContainerT, Derived> + virtual public base::detail::MemoryContainerBase<_ContainerT, _Derived> { + using Base = base::detail::MemoryContainerBase<_ContainerT, _Derived>; + public: MemoryContainer& operator=(const MemoryContainer& other) { @@ -26,17 +28,17 @@ namespace armarx::armem::workingmemory::detail } // Copying - virtual Derived copyWithoutData() const + virtual _Derived copyWithoutData() const { - Derived t; + _Derived t; _copySelfWithoutData(t); return t; } protected: - virtual void _copySelfWithoutData(Derived& o) const + virtual void _copySelfWithoutData(_Derived& o) const { - armarx::armem::detail::MemoryContainerBase<_ContainerT, Derived>::_copySelfEmpty(o); + Base::_copySelfEmpty(o); } }; } diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/detail/TypedEntityContainer.h b/source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.h similarity index 58% rename from source/RobotAPI/libraries/armem/core/workingMemory/detail/TypedEntityContainer.h rename to source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.h index ebcb1f62d..f90925ff1 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/detail/TypedEntityContainer.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/detail/TypedEntityContainer.h @@ -1,20 +1,20 @@ #pragma once -#include "../../base/detail/TypedEntityContainer.h" +#include "../../base/detail/TypedEntityContainerBase.h" #include "EntityContainer.h" #include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> -namespace armarx::armem::workingmemory::detail +namespace armarx::armem::wm::detail { /** * @brief An entity container with a specific (Aron) type. */ - template <class _ValueT, class Derived> + template <class _ValueT, class _Derived> class TypedEntityContainer : - virtual public armarx::armem::detail::TypedEntityContainerBase<_ValueT, Entity, Derived>, - virtual public EntityContainer<_ValueT, Derived> + virtual public base::detail::TypedEntityContainerBase<_ValueT, Entity, _Derived>, + virtual public EntityContainer<_ValueT, _Derived> { public: TypedEntityContainer& operator=(const TypedEntityContainer& other) diff --git a/source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp similarity index 69% rename from source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.cpp rename to source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp index f218de383..ad77c6dc1 100644 --- a/source/RobotAPI/libraries/armem/core/workingMemory/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp @@ -2,14 +2,14 @@ namespace armarx::armem { - void toIce(data::EntityInstanceMetadata& ice, const workingmemory::EntityInstanceMetadata& metadata) + void toIce(armarx::armem::data::EntityInstanceMetadata& ice, const armarx::armem::wm::EntityInstanceMetadata& metadata) { ice.confidence = metadata.confidence; toIce(ice.timeArrivedMicroSeconds, metadata.timeArrived); toIce(ice.timeCreatedMicroSeconds, metadata.timeCreated); toIce(ice.timeSentMicroSeconds, metadata.timeSent); } - void fromIce(const data::EntityInstanceMetadata& ice, workingmemory::EntityInstanceMetadata& metadata) + void fromIce(const armarx::armem::data::EntityInstanceMetadata& ice, armarx::armem::wm::EntityInstanceMetadata& metadata) { metadata.confidence = ice.confidence; fromIce(ice.timeArrivedMicroSeconds, metadata.timeArrived); @@ -17,7 +17,7 @@ namespace armarx::armem fromIce(ice.timeSentMicroSeconds, metadata.timeSent); } - void toIce(data::EntityInstance& ice, const workingmemory::EntityInstance& data) + void toIce(data::EntityInstance& ice, const wm::EntityInstance& data) { detail::toIceItem(ice, data); @@ -27,7 +27,7 @@ namespace armarx::armem } toIce(ice.metadata, data.metadata()); } - void fromIce(const data::EntityInstance& ice, workingmemory::EntityInstance& data) + void fromIce(const data::EntityInstance& ice, wm::EntityInstance& data) { detail::fromIceItem(ice, data); @@ -39,26 +39,26 @@ namespace armarx::armem } - void toIce(data::EntitySnapshot& ice, const workingmemory::EntitySnapshot& snapshot) + void toIce(data::EntitySnapshot& ice, const wm::EntitySnapshot& snapshot) { detail::toIceItem(ice, snapshot); toIce(ice.instances, snapshot.container); } - void fromIce(const data::EntitySnapshot& ice, workingmemory::EntitySnapshot& snapshot) + void fromIce(const data::EntitySnapshot& ice, wm::EntitySnapshot& snapshot) { detail::fromIceItem(ice, snapshot); fromIce(ice.instances, snapshot.container); } - void toIce(data::Entity& ice, const workingmemory::Entity& entity) + void toIce(data::Entity& ice, const wm::Entity& entity) { detail::toIceItem(ice, entity); toIce(ice.history, entity.container); } - void fromIce(const data::Entity& ice, workingmemory::Entity& entity) + void fromIce(const data::Entity& ice, wm::Entity& entity) { detail::fromIceItem(ice, entity); @@ -66,7 +66,7 @@ namespace armarx::armem } - void toIce(data::ProviderSegment& ice, const workingmemory::ProviderSegment& providerSegment) + void toIce(data::ProviderSegment& ice, const wm::ProviderSegment& providerSegment) { detail::toIceItem(ice, providerSegment); @@ -76,7 +76,7 @@ namespace armarx::armem } toIce(ice.entities, providerSegment.container); } - void fromIce(const data::ProviderSegment& ice, workingmemory::ProviderSegment& providerSegment) + void fromIce(const data::ProviderSegment& ice, wm::ProviderSegment& providerSegment) { detail::fromIceItem(ice, providerSegment); @@ -87,7 +87,7 @@ namespace armarx::armem fromIce(ice.entities, providerSegment.container); } - void toIce(data::CoreSegment& ice, const workingmemory::CoreSegment& coreSegment) + void toIce(data::CoreSegment& ice, const wm::CoreSegment& coreSegment) { detail::toIceItem(ice, coreSegment); @@ -97,7 +97,7 @@ namespace armarx::armem } toIce(ice.providerSegments, coreSegment.container); } - void fromIce(const data::CoreSegment& ice, workingmemory::CoreSegment& coreSegment) + void fromIce(const data::CoreSegment& ice, wm::CoreSegment& coreSegment) { detail::fromIceItem(ice, coreSegment); @@ -108,13 +108,13 @@ namespace armarx::armem fromIce(ice.providerSegments, coreSegment.container); } - void toIce(data::Memory& ice, const workingmemory::Memory& memory) + void toIce(data::Memory& ice, const wm::Memory& memory) { detail::toIceItem(ice, memory); toIce(ice.coreSegments, memory.container); } - void fromIce(const data::Memory& ice, workingmemory::Memory& memory) + void fromIce(const data::Memory& ice, wm::Memory& memory) { detail::fromIceItem(ice, memory); diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h new file mode 100644 index 000000000..4d14e6b0d --- /dev/null +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h @@ -0,0 +1,36 @@ +#pragma once + +#include <RobotAPI/interface/armem/commit.h> +#include <RobotAPI/interface/armem/memory.h> + +#include "Memory.h" + + +namespace armarx::armem +{ + void toIce(data::EntityInstanceMetadata& ice, const wm::EntityInstanceMetadata& metadata); + void fromIce(const data::EntityInstanceMetadata& ice, wm::EntityInstanceMetadata& metadata); + + void toIce(data::EntityInstance& ice, const wm::EntityInstance& data); + void fromIce(const data::EntityInstance& ice, wm::EntityInstance& data); + + + void toIce(data::EntitySnapshot& ice, const wm::EntitySnapshot& snapshot); + void fromIce(const data::EntitySnapshot& ice, wm::EntitySnapshot& snapshot); + + void toIce(data::Entity& ice, const wm::Entity& entity); + void fromIce(const data::Entity& ice, wm::Entity& entity); + + + void toIce(data::ProviderSegment& ice, const wm::ProviderSegment& providerSegment); + void fromIce(const data::ProviderSegment& ice, wm::ProviderSegment& providerSegment); + + void toIce(data::CoreSegment& ice, const wm::CoreSegment& coreSegment); + void fromIce(const data::CoreSegment& ice, wm::CoreSegment& coreSegment); + + void toIce(data::Memory& ice, const wm::Memory& memory); + void fromIce(const data::Memory& ice, wm::Memory& memory); +} + +// Must be included after the prototypes. Otherwise the compiler cannot find the correct methods in ice_coversion_templates.h +#include "../ice_conversions.h" diff --git a/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp b/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp index 2c12bbb49..c5aff2156 100644 --- a/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp +++ b/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp @@ -36,7 +36,7 @@ namespace armarx::armem::server::plugins parent.iceMemory.setMemoryListener(memoryListener); // establishing connection to ltm and mongodb - longtermmemory::MongoDBConnectionManager::MongoDBSettings settings; + ltm::MongoDBConnectionManager::MongoDBSettings settings; settings.host = longTermMemoryDatabaseHost; settings.user = longTermMemoryDatabaseUser; settings.password = longTermMemoryDatabasePassword; diff --git a/source/RobotAPI/libraries/armem/server/ComponentPlugin.h b/source/RobotAPI/libraries/armem/server/ComponentPlugin.h index 0aa7c6b3b..c051995c4 100644 --- a/source/RobotAPI/libraries/armem/server/ComponentPlugin.h +++ b/source/RobotAPI/libraries/armem/server/ComponentPlugin.h @@ -8,8 +8,8 @@ #include <RobotAPI/interface/armem/client/MemoryListenerInterface.h> #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h> -#include "../core/workingMemory/Memory.h" -#include "../core/longtermMemory/Memory.h" +#include "../core/workingmemory/Memory.h" +#include "../core/longtermmemory/Memory.h" #include "../mns/ClientPlugin.h" #include "MemoryToIceAdapter.h" @@ -96,10 +96,10 @@ namespace armarx::armem::server public: /// The actual memory. - workingmemory::Memory workingmemory; + wm::Memory workingmemory; std::mutex workingmemoryMutex; - longtermmemory::Memory longtermmemory; + ltm::Memory longtermmemory; std::mutex longtermmemoryMutex; /// property defaults diff --git a/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.cpp b/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.cpp index 870bba1c5..9ab34efd9 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.cpp +++ b/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.cpp @@ -13,7 +13,7 @@ namespace armarx::armem::server { - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::Memory& memory) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::Memory& memory) const { GroupBox group; group.setLabel(makeGroupLabel("Memory", memory.name(), memory.coreSegments().size())); @@ -32,7 +32,7 @@ namespace armarx::armem::server - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::CoreSegment& coreSegment) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::CoreSegment& coreSegment) const { GroupBox group; group.setLabel(makeGroupLabel("Core Segment", coreSegment.name(), coreSegment.providerSegments().size())); @@ -51,7 +51,7 @@ namespace armarx::armem::server - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::ProviderSegment& providerSegment) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::ProviderSegment& providerSegment) const { GroupBox group; group.setLabel(makeGroupLabel("Provider Segment", providerSegment.name(), providerSegment.entities().size())); @@ -70,7 +70,7 @@ namespace armarx::armem::server - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::Entity& entity) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::Entity& entity) const { GroupBox group; group.setLabel(makeGroupLabel("Entity", entity.name(), entity.history().size())); @@ -110,7 +110,7 @@ namespace armarx::armem::server - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::EntitySnapshot& snapshot) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::EntitySnapshot& snapshot) const { GroupBox group; group.setLabel(makeGroupLabel("t", armem::toDateTimeMilliSeconds(snapshot.time()), @@ -120,7 +120,7 @@ namespace armarx::armem::server { group.addChild(Label(makeNoItemsMessage("instances"))); } - for (const workingmemory::EntityInstance& instance : snapshot.instances()) + for (const wm::EntityInstance& instance : snapshot.instances()) { group.addChild(makeGroupBox(instance)); } @@ -129,7 +129,7 @@ namespace armarx::armem::server return group; } - MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const workingmemory::EntityInstance& instance) const + MemoryRemoteGui::GroupBox MemoryRemoteGui::makeGroupBox(const wm::EntityInstance& instance) const { GroupBox group; diff --git a/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.h b/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.h index 59ebb3128..f4a7fad95 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.h +++ b/source/RobotAPI/libraries/armem/server/MemoryRemoteGui.h @@ -2,7 +2,7 @@ #include <ArmarXGui/libraries/RemoteGui/Client/Widgets.h> -#include "../core/workingMemory/Memory.h" +#include "../core/workingmemory/Memory.h" namespace armarx::armem::server @@ -17,12 +17,12 @@ namespace armarx::armem::server using GroupBox = armarx::RemoteGui::Client::GroupBox; using Label = armarx::RemoteGui::Client::Label; - GroupBox makeGroupBox(const workingmemory::Memory& memory) const; - GroupBox makeGroupBox(const workingmemory::CoreSegment& coreSegment) const; - GroupBox makeGroupBox(const workingmemory::ProviderSegment& providerSegment) const; - GroupBox makeGroupBox(const workingmemory::Entity& entity) const; - GroupBox makeGroupBox(const workingmemory::EntitySnapshot& entitySnapshot) const; - GroupBox makeGroupBox(const workingmemory::EntityInstance& instance) const; + GroupBox makeGroupBox(const wm::Memory& memory) const; + GroupBox makeGroupBox(const wm::CoreSegment& coreSegment) const; + GroupBox makeGroupBox(const wm::ProviderSegment& providerSegment) const; + GroupBox makeGroupBox(const wm::Entity& entity) const; + GroupBox makeGroupBox(const wm::EntitySnapshot& entitySnapshot) const; + GroupBox makeGroupBox(const wm::EntityInstance& instance) const; std::string makeGroupLabel(const std::string& term, const std::string& name, size_t size, diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp index 1b944deb1..68904e536 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp +++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp @@ -3,8 +3,8 @@ #include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include "../error.h" -#include "../core/workingMemory/ice_conversions.h" -#include "query_proc/workingMemory/MemoryQueryProcessor.h" +#include "../core/workingmemory/ice_conversions.h" +#include "query_proc/workingmemory/MemoryQueryProcessor.h" //#include "../core/io/diskWriter/NlohmannJSON/NlohmannJSONDiskWriter.h" //#include "../core/io/diskReader/NlohmannJSON/NlohmannJSONDiskReader.h" @@ -12,7 +12,7 @@ namespace armarx::armem::server { - MemoryToIceAdapter::MemoryToIceAdapter(workingmemory::Memory* workingmemory, longtermmemory::Memory* longtermmemory) : workingmemory(workingmemory), longtermmemory(longtermmemory) + MemoryToIceAdapter::MemoryToIceAdapter(wm::Memory* workingmemory, ltm::Memory* longtermmemory) : workingmemory(workingmemory), longtermmemory(longtermmemory) { } @@ -33,7 +33,7 @@ namespace armarx::armem::server data::AddSegmentResult output; - armem::workingmemory::CoreSegment* coreSegment = nullptr; + armem::wm::CoreSegment* coreSegment = nullptr; try { coreSegment = &workingmemory->getCoreSegment(input.coreSegmentName); @@ -64,7 +64,7 @@ namespace armarx::armem::server // This is ok. if (input.clearWhenExists) { - workingmemory::ProviderSegment& provider = coreSegment->getProviderSegment(input.providerSegmentName); + wm::ProviderSegment& provider = coreSegment->getProviderSegment(input.providerSegmentName); provider.clear(); } } @@ -163,7 +163,7 @@ namespace armarx::armem::server { ARMARX_CHECK_NOT_NULL(workingmemory); - armem::workingmemory::query_proc::MemoryQueryProcessor processor( + armem::wm::query_proc::MemoryQueryProcessor processor( input.withData ? armem::DataMode::WithData : armem::DataMode::NoData); return processor.process(input, *workingmemory); @@ -189,7 +189,7 @@ namespace armarx::armem::server armem::query::data::Result queryResult = this->query(input.query); if (queryResult.success) { - workingmemory::Memory m; + wm::Memory m; fromIce(queryResult.memory, m); longtermmemory->append(m); } diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.h b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.h index b0d1ac098..0e2250387 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.h +++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.h @@ -3,8 +3,8 @@ #include <RobotAPI/interface/armem/server/MemoryInterface.h> #include <RobotAPI/interface/armem/client/MemoryListenerInterface.h> -#include "../core/workingMemory/Memory.h" -#include "../core/longtermMemory/Memory.h" +#include "../core/workingmemory/Memory.h" +#include "../core/longtermmemory/Memory.h" namespace armarx::armem::server @@ -22,7 +22,7 @@ namespace armarx::armem::server public: /// Construct an MemoryToIceAdapter from an existing Memory. - MemoryToIceAdapter(workingmemory::Memory* workingmemory = nullptr, longtermmemory::Memory* longtermmemory = nullptr); + MemoryToIceAdapter(wm::Memory* workingmemory = nullptr, ltm::Memory* longtermmemory = nullptr); void setMemoryListener(client::MemoryListenerInterfacePrx memoryListener); @@ -50,8 +50,8 @@ namespace armarx::armem::server public: - workingmemory::Memory* workingmemory; - longtermmemory::Memory* longtermmemory; + wm::Memory* workingmemory; + ltm::Memory* longtermmemory; client::MemoryListenerInterfacePrx memoryListener; diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.cpp deleted file mode 100644 index 5bb5942e8..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "BaseQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.h similarity index 96% rename from source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.h index 77526c56a..3ea2b0bdd 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/base/BaseQueryProcessorBase.h @@ -5,7 +5,7 @@ #include <RobotAPI/libraries/armem/core/DataMode.h> -namespace armarx::armem::query_proc +namespace armarx::armem::base::query_proc { /** diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.cpp deleted file mode 100644 index 474ed5e5c..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "CoreSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/error.h> - - -namespace armarx::armem::query_proc -{ -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.h similarity index 91% rename from source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.h index 04b7f3ff3..f8ab8c113 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/base/CoreSegmentQueryProcessorBase.h @@ -2,8 +2,8 @@ #include <RobotAPI/interface/armem/query.h> -#include "BaseQueryProcessor.h" -#include "ProviderSegmentQueryProcessor.h" +#include "BaseQueryProcessorBase.h" +#include "ProviderSegmentQueryProcessorBase.h" #include <regex> @@ -14,7 +14,7 @@ -namespace armarx::armem::query_proc +namespace armarx::armem::base::query_proc { /** @@ -25,9 +25,12 @@ namespace armarx::armem::query_proc virtual public BaseQueryProcessorBase<_CoreSegmentT, armem::query::data::CoreSegmentQuery> { using Base = BaseQueryProcessorBase<_CoreSegmentT, armem::query::data::CoreSegmentQuery>; - using ProviderSegmentT = typename _CoreSegmentT::ProviderSegmentT; public: + using CoreSegmentT = _CoreSegmentT; + using ProviderSegmentT = typename _CoreSegmentT::ProviderSegmentT; + using EntityT = typename ProviderSegmentT::EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; using Base::process; void process(_CoreSegmentT& result, diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.cpp deleted file mode 100644 index 25f477bf0..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "EntityQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.h similarity index 96% rename from source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.h index 4558dbfad..447bd259a 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/base/EntityQueryProcessorBase.h @@ -2,7 +2,7 @@ #include <RobotAPI/interface/armem/query.h> -#include "BaseQueryProcessor.h" +#include "BaseQueryProcessorBase.h" #include <ArmarXCore/core/logging/Logging.h> #include <ArmarXCore/core/exceptions/local/ExpressionException.h> @@ -11,7 +11,7 @@ #include <RobotAPI/libraries/armem/core/ice_conversions.h> -namespace armarx::armem::query_proc +namespace armarx::armem::base::query_proc { /** @@ -22,9 +22,11 @@ namespace armarx::armem::query_proc virtual public BaseQueryProcessorBase<_EntityT, armem::query::data::EntityQuery> { using Base = BaseQueryProcessorBase<_EntityT, armem::query::data::EntityQuery>; - using EntitySnapshotT = typename _EntityT::EntitySnapshotT; public: + using EntityT = _EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; + using Base::process; void process(_EntityT& result, const armem::query::data::EntityQuery& query, diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.cpp deleted file mode 100644 index c1caf0c27..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "MemoryQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.h similarity index 85% rename from source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.h index d9937eed3..c50086b55 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/base/MemoryQueryProcessorBase.h @@ -4,8 +4,8 @@ #include <RobotAPI/interface/armem/query.h> -#include "BaseQueryProcessor.h" -#include "CoreSegmentQueryProcessor.h" +#include "BaseQueryProcessorBase.h" +#include "CoreSegmentQueryProcessorBase.h" #include <ArmarXCore/core/logging/Logging.h> @@ -14,19 +14,23 @@ #include <RobotAPI/libraries/armem/core/error.h> -namespace armarx::armem::query_proc +namespace armarx::armem::base::query_proc { /** * @brief Handles memory queries. */ template <class _MemoryT> class MemoryQueryProcessorBase : - virtual public BaseQueryProcessorBase<_MemoryT, armem::query::data::MemoryQuery> + virtual public BaseQueryProcessorBase<_MemoryT, armem::query::data::MemoryQuery> { using Base = BaseQueryProcessorBase<_MemoryT, armem::query::data::MemoryQuery>; - using CoreSegmentT = typename _MemoryT::CoreSegmentT; public: + using MemoryT = _MemoryT; + using CoreSegmentT = typename MemoryT::CoreSegmentT; + using ProviderSegmentT = typename CoreSegmentT::ProviderSegmentT; + using EntityT = typename ProviderSegmentT::EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; void process(_MemoryT& result, const armem::query::data::MemoryQuery& query, diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.cpp deleted file mode 100644 index d07f30836..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "ProviderSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.cpp b/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.h similarity index 91% rename from source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.h index ff586eb47..b3b7da7ff 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/base/ProviderSegmentQueryProcessorBase.h @@ -2,8 +2,8 @@ #include <RobotAPI/interface/armem/query.h> -#include "BaseQueryProcessor.h" -#include "EntityQueryProcessor.h" +#include "BaseQueryProcessorBase.h" +#include "EntityQueryProcessorBase.h" #include <regex> @@ -13,7 +13,7 @@ #include <RobotAPI/libraries/armem/core/error.h> -namespace armarx::armem::query_proc +namespace armarx::armem::base::query_proc { /** @@ -24,9 +24,12 @@ namespace armarx::armem::query_proc virtual public BaseQueryProcessorBase<_ProviderSegmentT, armem::query::data::ProviderSegmentQuery> { using Base = BaseQueryProcessorBase<_ProviderSegmentT, armem::query::data::ProviderSegmentQuery>; - using EntityT = typename _ProviderSegmentT::EntityT; public: + using ProviderSegmentT = _ProviderSegmentT; + using EntityT = typename ProviderSegmentT::EntityT; + using EntitySnapshotT = typename EntityT::EntitySnapshotT; + using Base::process; void process(_ProviderSegmentT& result, const armem::query::data::ProviderSegmentQuery& query, diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.cpp deleted file mode 100644 index 5bb5942e8..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "BaseQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.cpp deleted file mode 100644 index 474ed5e5c..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "CoreSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/error.h> - - -namespace armarx::armem::query_proc -{ -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.cpp deleted file mode 100644 index 25f477bf0..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "EntityQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.h deleted file mode 100644 index d7306cb30..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/EntityQueryProcessor.h +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once - -#include "BaseQueryProcessor.h" -#include "../base/EntityQueryProcessor.h" - -#include "../../../core/longtermMemory/Entity.h" - -#include "EntityQueryProcessor.h" - -namespace armarx::armem::longtermmemory::query_proc -{ - /** - * @brief Handles memory queries. - */ - class EntityQueryProcessor : - virtual public BaseQueryProcessor<longtermmemory::Entity, armem::query::data::EntityQuery>, - virtual public armarx::armem::query_proc::EntityQueryProcessorBase<longtermmemory::Entity> - { - using Base = BaseQueryProcessor<longtermmemory::Entity, armem::query::data::EntityQuery>; - - public: - EntityQueryProcessor() : - Base() - {} - - private: - void addResultSnapshot(longtermmemory::Entity& result, longtermmemory::Entity::ContainerT::const_iterator it) const override - { - addResultSnapshot(result, it->second); - } - - void addResultSnapshot(longtermmemory::Entity& result, const longtermmemory::EntitySnapshot& snapshot) const override - { - result.addSnapshot(snapshot.copy()); - } - - }; - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.cpp deleted file mode 100644 index c1caf0c27..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "MemoryQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.cpp deleted file mode 100644 index d07f30836..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "ProviderSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.h deleted file mode 100644 index 57cb91c41..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/ProviderSegmentQueryProcessor.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "BaseQueryProcessor.h" -#include "../base/ProviderSegmentQueryProcessor.h" - -#include "../../../core/longtermMemory/ProviderSegment.h" - -#include "EntityQueryProcessor.h" - -namespace armarx::armem::longtermmemory::query_proc -{ - /** - * @brief Handles memory queries. - */ - class ProviderSegmentQueryProcessor : - virtual public BaseQueryProcessor<longtermmemory::ProviderSegment, armem::query::data::ProviderSegmentQuery>, - virtual public armarx::armem::query_proc::ProviderSegmentQueryProcessorBase<longtermmemory::ProviderSegment> - { - using Base = BaseQueryProcessor<longtermmemory::ProviderSegment, armem::query::data::ProviderSegmentQuery>; - using EntityT = longtermmemory::ProviderSegment::EntityT; - - public: - ProviderSegmentQueryProcessor() : - Base() - {} - - protected: - virtual EntityT entityProcessorProcess(const armem::query::data::EntityQuerySeq& q, const EntityT& s) const override - { - return entityProcessor.process(q, s); - } - - private: - EntityQueryProcessor entityProcessor; - - }; - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.h similarity index 55% rename from source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.h index c129b8545..458128e53 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/BaseQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/BaseQueryProcessor.h @@ -3,21 +3,21 @@ #include <RobotAPI/interface/armem/query.h> #include <RobotAPI/libraries/armem/core/DataMode.h> -#include "../base/BaseQueryProcessor.h" +#include "../base/BaseQueryProcessorBase.h" -namespace armarx::armem::longtermmemory::query_proc +namespace armarx::armem::ltm::query_proc { /** * @brief Base class for memory query processors. */ template <class DataT, class QueryT> class BaseQueryProcessor : - virtual public armarx::armem::query_proc::BaseQueryProcessorBase<DataT, QueryT> + virtual public base::query_proc::BaseQueryProcessorBase<DataT, QueryT> { - public: - using Base = armarx::armem::query_proc::BaseQueryProcessorBase<DataT, QueryT>; + using Base = base::query_proc::BaseQueryProcessorBase<DataT, QueryT>; + public: BaseQueryProcessor() {} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.h similarity index 52% rename from source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.h index 17c07c312..dc379f1d8 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/CoreSegmentQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/CoreSegmentQueryProcessor.h @@ -1,24 +1,23 @@ #pragma once #include "BaseQueryProcessor.h" -#include "../base/CoreSegmentQueryProcessor.h" +#include "../base/CoreSegmentQueryProcessorBase.h" -#include "../../../core/longtermMemory/CoreSegment.h" +#include "../../../core/longtermmemory/CoreSegment.h" #include "ProviderSegmentQueryProcessor.h" -namespace armarx::armem::longtermmemory::query_proc +namespace armarx::armem::ltm::query_proc { /** * @brief Handles memory queries. */ class CoreSegmentQueryProcessor : - virtual public BaseQueryProcessor<longtermmemory::CoreSegment, armem::query::data::CoreSegmentQuery>, - virtual public armarx::armem::query_proc::CoreSegmentQueryProcessorBase<longtermmemory::CoreSegment> + virtual public BaseQueryProcessor<ltm::CoreSegment, armem::query::data::CoreSegmentQuery>, + virtual public base::query_proc::CoreSegmentQueryProcessorBase<ltm::CoreSegment> { - using Base = BaseQueryProcessor<longtermmemory::CoreSegment, armem::query::data::CoreSegmentQuery>; - using ProviderSegmentT = typename longtermmemory::CoreSegment::ProviderSegmentT; + using Base = BaseQueryProcessor<ltm::CoreSegment, armem::query::data::CoreSegmentQuery>; public: CoreSegmentQueryProcessor() : diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.h new file mode 100644 index 000000000..5ec4c5dde --- /dev/null +++ b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/EntityQueryProcessor.h @@ -0,0 +1,39 @@ +#pragma once + +#include "BaseQueryProcessor.h" +#include "../base/EntityQueryProcessorBase.h" + +#include "../../../core/longtermmemory/Entity.h" + +#include "EntityQueryProcessor.h" + +namespace armarx::armem::ltm::query_proc +{ + /** + * @brief Handles memory queries. + */ + class EntityQueryProcessor : + virtual public BaseQueryProcessor<ltm::Entity, armem::query::data::EntityQuery>, + virtual public base::query_proc::EntityQueryProcessorBase<ltm::Entity> + { + using Base = BaseQueryProcessor<ltm::Entity, armem::query::data::EntityQuery>; + + public: + EntityQueryProcessor() : + Base() + {} + + private: + void addResultSnapshot(ltm::Entity& result, ltm::Entity::ContainerT::const_iterator it) const override + { + addResultSnapshot(result, it->second); + } + + void addResultSnapshot(ltm::Entity& result, const ltm::EntitySnapshot& snapshot) const override + { + result.addSnapshot(snapshot.copy()); + } + + }; + +} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.h similarity index 52% rename from source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.h index 6e70fb7b0..a51294172 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/longtermMemory/MemoryQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/MemoryQueryProcessor.h @@ -1,23 +1,22 @@ #pragma once #include "BaseQueryProcessor.h" -#include "../base/MemoryQueryProcessor.h" +#include "../base/MemoryQueryProcessorBase.h" -#include "../../../core/longtermMemory/Memory.h" +#include "../../../core/longtermmemory/Memory.h" #include "CoreSegmentQueryProcessor.h" -namespace armarx::armem::longtermmemory::query_proc +namespace armarx::armem::ltm::query_proc { /** * @brief Handles memory queries. */ class MemoryQueryProcessor : - virtual public BaseQueryProcessor<longtermmemory::Memory, armem::query::data::MemoryQuery>, - virtual public armarx::armem::query_proc::MemoryQueryProcessorBase<longtermmemory::Memory> + virtual public BaseQueryProcessor<ltm::Memory, armem::query::data::MemoryQuery>, + virtual public base::query_proc::MemoryQueryProcessorBase<ltm::Memory> { - using Base = BaseQueryProcessor<longtermmemory::Memory, armem::query::data::MemoryQuery>; - using CoreSegmentT = typename longtermmemory::Memory::CoreSegmentT; + using Base = BaseQueryProcessor<ltm::Memory, armem::query::data::MemoryQuery>; public: MemoryQueryProcessor() : diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.h new file mode 100644 index 000000000..e0c6db9e3 --- /dev/null +++ b/source/RobotAPI/libraries/armem/server/query_proc/longtermmemory/ProviderSegmentQueryProcessor.h @@ -0,0 +1,37 @@ +#pragma once + +#include "BaseQueryProcessor.h" +#include "../base/ProviderSegmentQueryProcessorBase.h" + +#include "../../../core/longtermmemory/ProviderSegment.h" + +#include "EntityQueryProcessor.h" + +namespace armarx::armem::ltm::query_proc +{ + /** + * @brief Handles memory queries. + */ + class ProviderSegmentQueryProcessor : + virtual public BaseQueryProcessor<ltm::ProviderSegment, armem::query::data::ProviderSegmentQuery>, + virtual public base::query_proc::ProviderSegmentQueryProcessorBase<ltm::ProviderSegment> + { + using Base = BaseQueryProcessor<ltm::ProviderSegment, armem::query::data::ProviderSegmentQuery>; + + public: + ProviderSegmentQueryProcessor() : + Base() + {} + + protected: + virtual EntityT entityProcessorProcess(const armem::query::data::EntityQuerySeq& q, const EntityT& s) const override + { + return entityProcessor.process(q, s); + } + + private: + EntityQueryProcessor entityProcessor; + + }; + +} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.cpp deleted file mode 100644 index 5bb5942e8..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "BaseQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.cpp deleted file mode 100644 index 474ed5e5c..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "CoreSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/error.h> - - -namespace armarx::armem::query_proc -{ -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.cpp deleted file mode 100644 index 25f477bf0..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "EntityQueryProcessor.h" - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.cpp deleted file mode 100644 index c1caf0c27..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "MemoryQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.cpp deleted file mode 100644 index d07f30836..000000000 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "ProviderSegmentQueryProcessor.h" - -#include <regex> - -#include <ArmarXCore/core/logging/Logging.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> - -#include <RobotAPI/libraries/armem/core/error.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> - - -namespace armarx::armem::query_proc -{ - -} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.h similarity index 61% rename from source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.h index dee5d621c..f2645b475 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/BaseQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/BaseQueryProcessor.h @@ -3,21 +3,21 @@ #include <RobotAPI/interface/armem/query.h> #include <RobotAPI/libraries/armem/core/DataMode.h> -#include "../base/BaseQueryProcessor.h" +#include "../base/BaseQueryProcessorBase.h" -namespace armarx::armem::workingmemory::query_proc +namespace armarx::armem::wm::query_proc { /** * @brief Base class for memory query processors. */ template <class DataT, class QueryT> class BaseQueryProcessor : - virtual public armarx::armem::query_proc::BaseQueryProcessorBase<DataT, QueryT> + virtual public base::query_proc::BaseQueryProcessorBase<DataT, QueryT> { - public: - using Base = armarx::armem::query_proc::BaseQueryProcessorBase<DataT, QueryT>; + using Base = base::query_proc::BaseQueryProcessorBase<DataT, QueryT>; + public: BaseQueryProcessor(DataMode dataMode = DataMode::WithData) : dataMode(dataMode) {} diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.h similarity index 57% rename from source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.h index 6cc1dea86..160ccd18d 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/CoreSegmentQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/CoreSegmentQueryProcessor.h @@ -1,24 +1,23 @@ #pragma once #include "BaseQueryProcessor.h" -#include "../base/CoreSegmentQueryProcessor.h" +#include "../base/CoreSegmentQueryProcessorBase.h" -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include "ProviderSegmentQueryProcessor.h" -namespace armarx::armem::workingmemory::query_proc +namespace armarx::armem::wm::query_proc { /** * @brief Handles memory queries. */ class CoreSegmentQueryProcessor : - virtual public BaseQueryProcessor<workingmemory::CoreSegment, armem::query::data::CoreSegmentQuery>, - virtual public armarx::armem::query_proc::CoreSegmentQueryProcessorBase<workingmemory::CoreSegment> + virtual public BaseQueryProcessor<wm::CoreSegment, armem::query::data::CoreSegmentQuery>, + virtual public base::query_proc::CoreSegmentQueryProcessorBase<wm::CoreSegment> { - using Base = BaseQueryProcessor<workingmemory::CoreSegment, armem::query::data::CoreSegmentQuery>; - using ProviderSegmentT = typename workingmemory::CoreSegment::ProviderSegmentT; + using Base = BaseQueryProcessor<wm::CoreSegment, armem::query::data::CoreSegmentQuery>; public: CoreSegmentQueryProcessor(DataMode dataMode = DataMode::WithData) : @@ -26,7 +25,7 @@ namespace armarx::armem::workingmemory::query_proc {} using Base::process; - data::CoreSegment processToIce(const armem::query::data::CoreSegmentQuery& query, const workingmemory::CoreSegment& coreSegment) const + data::CoreSegment processToIce(const armem::query::data::CoreSegmentQuery& query, const wm::CoreSegment& coreSegment) const { return toIce<data::CoreSegment>(process(query, coreSegment)); } diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.h similarity index 52% rename from source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.h index eaf0c84af..62e24dd46 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/EntityQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/EntityQueryProcessor.h @@ -1,40 +1,40 @@ #pragma once -#include "BaseQueryProcessor.h" -#include "../base/EntityQueryProcessor.h" +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include "BaseQueryProcessor.h" +#include "../base/EntityQueryProcessorBase.h" #include "EntityQueryProcessor.h" -namespace armarx::armem::workingmemory::query_proc +namespace armarx::armem::wm::query_proc { /** * @brief Handles memory queries. */ class EntityQueryProcessor : - virtual public BaseQueryProcessor<workingmemory::Entity, armem::query::data::EntityQuery>, - virtual public armarx::armem::query_proc::EntityQueryProcessorBase<workingmemory::Entity> + virtual public BaseQueryProcessor<wm::Entity, armem::query::data::EntityQuery>, + virtual public base::query_proc::EntityQueryProcessorBase<wm::Entity> { - using Base = BaseQueryProcessor<workingmemory::Entity, armem::query::data::EntityQuery>; + using Base = BaseQueryProcessor<wm::Entity, armem::query::data::EntityQuery>; public: EntityQueryProcessor(DataMode dataMode = DataMode::WithData) : Base(dataMode) {} - data::Entity processToIce(const armem::query::data::EntityQuery& query, const workingmemory::Entity& entity) const + data::Entity processToIce(const armem::query::data::EntityQuery& query, const wm::Entity& entity) const { return toIce<data::Entity>(process(query, entity)); } private: - void addResultSnapshot(workingmemory::Entity& result, workingmemory::Entity::ContainerT::const_iterator it) const override + void addResultSnapshot(wm::Entity& result, wm::Entity::ContainerT::const_iterator it) const override { addResultSnapshot(result, it->second); } - void addResultSnapshot(workingmemory::Entity& result, const workingmemory::EntitySnapshot& snapshot) const override + void addResultSnapshot(wm::Entity& result, const wm::EntitySnapshot& snapshot) const override { bool withData = (dataMode == DataMode::WithData); if (withData) diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.h similarity index 62% rename from source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.h index 26a589619..dc82f403e 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/MemoryQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/MemoryQueryProcessor.h @@ -1,23 +1,22 @@ #pragma once #include "BaseQueryProcessor.h" -#include "../base/MemoryQueryProcessor.h" +#include "../base/MemoryQueryProcessorBase.h" -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include "CoreSegmentQueryProcessor.h" -namespace armarx::armem::workingmemory::query_proc +namespace armarx::armem::wm::query_proc { /** * @brief Handles memory queries. */ class MemoryQueryProcessor : - virtual public BaseQueryProcessor<workingmemory::Memory, armem::query::data::MemoryQuery>, - virtual public armarx::armem::query_proc::MemoryQueryProcessorBase<workingmemory::Memory> + virtual public BaseQueryProcessor<wm::Memory, armem::query::data::MemoryQuery>, + virtual public base::query_proc::MemoryQueryProcessorBase<wm::Memory> { - using Base = BaseQueryProcessor<workingmemory::Memory, armem::query::data::MemoryQuery>; - using CoreSegmentT = typename workingmemory::Memory::CoreSegmentT; + using Base = BaseQueryProcessor<wm::Memory, armem::query::data::MemoryQuery>; public: MemoryQueryProcessor(DataMode dataMode = DataMode::WithData) : @@ -25,7 +24,7 @@ namespace armarx::armem::workingmemory::query_proc {} armem::query::data::Result process(const armem::query::data::Input& input, - const workingmemory::Memory& memory) const + const wm::Memory& memory) const { armem::query::data::Result result; result.memory = processToIce(input.memoryQueries, memory); @@ -35,13 +34,13 @@ namespace armarx::armem::workingmemory::query_proc using Base::process; data::MemoryPtr processToIce(const armem::query::data::MemoryQuery& query, - const workingmemory::Memory& memory) const + const wm::Memory& memory) const { return toIce<data::MemoryPtr>(process(query, memory)); } data::MemoryPtr processToIce(const armem::query::data::MemoryQuerySeq& queries, - const workingmemory::Memory& memory) const + const wm::Memory& memory) const { return toIce<data::MemoryPtr>(process(queries, memory)); } diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.cpp b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.h b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.h similarity index 55% rename from source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.h rename to source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.h index abaa868f9..4f88a1709 100644 --- a/source/RobotAPI/libraries/armem/server/query_proc/workingMemory/ProviderSegmentQueryProcessor.h +++ b/source/RobotAPI/libraries/armem/server/query_proc/workingmemory/ProviderSegmentQueryProcessor.h @@ -1,23 +1,22 @@ #pragma once #include "BaseQueryProcessor.h" -#include "../base/ProviderSegmentQueryProcessor.h" +#include "../base/ProviderSegmentQueryProcessorBase.h" -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include "EntityQueryProcessor.h" -namespace armarx::armem::workingmemory::query_proc +namespace armarx::armem::wm::query_proc { /** * @brief Handles memory queries. */ class ProviderSegmentQueryProcessor : - virtual public BaseQueryProcessor<workingmemory::ProviderSegment, armem::query::data::ProviderSegmentQuery>, - virtual public armarx::armem::query_proc::ProviderSegmentQueryProcessorBase<workingmemory::ProviderSegment> + virtual public BaseQueryProcessor<wm::ProviderSegment, armem::query::data::ProviderSegmentQuery>, + virtual public base::query_proc::ProviderSegmentQueryProcessorBase<wm::ProviderSegment> { - using Base = BaseQueryProcessor<workingmemory::ProviderSegment, armem::query::data::ProviderSegmentQuery>; - using EntityT = workingmemory::ProviderSegment::EntityT; + using Base = BaseQueryProcessor<wm::ProviderSegment, armem::query::data::ProviderSegmentQuery>; public: ProviderSegmentQueryProcessor(DataMode dataMode = DataMode::WithData) : @@ -25,7 +24,7 @@ namespace armarx::armem::workingmemory::query_proc {} using Base::process; - data::ProviderSegment processToIce(const armem::query::data::ProviderSegmentQuery& query, const workingmemory::ProviderSegment& providerSegment) const + data::ProviderSegment processToIce(const armem::query::data::ProviderSegmentQuery& query, const wm::ProviderSegment& providerSegment) const { return toIce<data::ProviderSegment>(process(query, providerSegment)); } diff --git a/source/RobotAPI/libraries/armem/test/ArMemIceConversionsTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemIceConversionsTest.cpp index 171e40614..1d016e783 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemIceConversionsTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemIceConversionsTest.cpp @@ -25,9 +25,7 @@ #define ARMARX_BOOST_TEST #include <RobotAPI/Test.h> -#include "../core/ice_conversions_templates.h" -#include "../core/ice_conversions.h" -#include "../core/workingMemory/ice_conversions.h" +#include "../core/workingmemory/ice_conversions.h" #include <iostream> @@ -40,11 +38,11 @@ namespace aron = armarx::aron; BOOST_AUTO_TEST_CASE(test_entity) { - armem::workingmemory::Entity entity("entity"); + armem::wm::Entity entity("entity"); std::vector<armem::Time> expectedTimestamps; - armem::workingmemory::EntitySnapshot snapshot; + armem::wm::EntitySnapshot snapshot; snapshot.time() = armem::Time::milliSeconds(100); expectedTimestamps.push_back(snapshot.time()); entity.addSnapshot(snapshot); @@ -63,7 +61,7 @@ BOOST_AUTO_TEST_CASE(test_entity) BOOST_CHECK_EQUAL(ice->history.size(), entity.history().size()); - armem::workingmemory::Entity entityOut; + armem::wm::Entity entityOut; armem::fromIce(ice, entityOut); BOOST_CHECK_EQUAL(entityOut.history().size(), entity.history().size()); diff --git a/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp index 1370c0649..f6271553e 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp @@ -25,7 +25,7 @@ #define ARMARX_BOOST_TEST #include <RobotAPI/Test.h> -#include "../core/workingMemory/Memory.h" +#include "../core/workingmemory/Memory.h" #include "../core/error.h" #include <RobotAPI/libraries/aron/core/navigator/data/AllNavigators.h> @@ -34,7 +34,7 @@ #include <RobotAPI/libraries/aron/core/Debug.h> -#include "../core/longtermMemory/Memory.h" +#include "../core/longtermmemory/Memory.h" //#include "../core/io/diskWriter/NlohmannJSON/NlohmannJSONDiskWriter.h" @@ -82,7 +82,7 @@ namespace ArMemLTMTest } - static armem::workingmemory::Memory setupMemoryWithType( + static armem::wm::Memory setupMemoryWithType( const std::string& memoryName, const aron::typenavigator::ObjectNavigatorPtr& t1, const aron::typenavigator::ObjectNavigatorPtr& t2, @@ -91,14 +91,14 @@ namespace ArMemLTMTest { aron::Randomizer r; - armem::workingmemory::Memory memory(memoryName); + armem::wm::Memory memory(memoryName); BOOST_CHECK_EQUAL(memory.name(), memoryName); - armem::workingmemory::CoreSegment& coreSegment = memory.addCoreSegment("TestCoreSegment"); + armem::wm::CoreSegment& coreSegment = memory.addCoreSegment("TestCoreSegment"); BOOST_CHECK_EQUAL(coreSegment.name(), "TestCoreSegment"); BOOST_CHECK(memory.hasCoreSegment(coreSegment.name())); - armem::workingmemory::ProviderSegment& providerSegment = coreSegment.addProviderSegment("TestProvider"); + armem::wm::ProviderSegment& providerSegment = coreSegment.addProviderSegment("TestProvider"); BOOST_CHECK_EQUAL(providerSegment.name(), "TestProvider"); BOOST_CHECK(coreSegment.hasProviderSegment(providerSegment.name())); diff --git a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp index 11bb8af09..b852295ff 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp @@ -26,7 +26,7 @@ #include <RobotAPI/Test.h> -#include "../core/workingMemory/Memory.h" +#include "../core/workingmemory/Memory.h" #include "../core/error.h" @@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(test_segment_setup) { armem::EntityUpdate update; - armem::workingmemory::Memory memory("Memory"); + armem::wm::Memory memory("Memory"); BOOST_CHECK_EQUAL(memory.name(), "Memory"); { update.entityID = armem::MemoryID::fromString("OtherMemory/SomeSegment"); @@ -89,7 +89,7 @@ BOOST_AUTO_TEST_CASE(test_segment_setup) BOOST_CHECK_THROW(memory.update(update), armem::error::MissingEntry); } - armem::workingmemory::CoreSegment& coreSegment = memory.addCoreSegment("ImageRGB"); + armem::wm::CoreSegment& coreSegment = memory.addCoreSegment("ImageRGB"); BOOST_CHECK_EQUAL(coreSegment.name(), "ImageRGB"); BOOST_CHECK(memory.hasCoreSegment(coreSegment.name())); { @@ -99,7 +99,7 @@ BOOST_AUTO_TEST_CASE(test_segment_setup) BOOST_CHECK_THROW(coreSegment.update(update), armem::error::MissingEntry); } - armem::workingmemory::ProviderSegment& providerSegment = coreSegment.addProviderSegment("SomeRGBImageProvider"); + armem::wm::ProviderSegment& providerSegment = coreSegment.addProviderSegment("SomeRGBImageProvider"); BOOST_CHECK_EQUAL(providerSegment.name(), "SomeRGBImageProvider"); BOOST_CHECK(coreSegment.hasProviderSegment(providerSegment.name())); { @@ -123,12 +123,12 @@ BOOST_AUTO_TEST_CASE(test_segment_setup) BOOST_CHECK(providerSegment.hasEntity("image")); BOOST_CHECK(!providerSegment.hasEntity("other_image")); - armem::workingmemory::Entity& entity = providerSegment.getEntity("image"); + armem::wm::Entity& entity = providerSegment.getEntity("image"); BOOST_CHECK_EQUAL(entity.name(), "image"); BOOST_CHECK_EQUAL(entity.history().size(), 1); BOOST_CHECK_EQUAL(entity.history().count(update.timeCreated), 1); - armem::workingmemory::EntitySnapshot& entitySnapshot = entity.history().at(update.timeCreated); + armem::wm::EntitySnapshot& entitySnapshot = entity.history().at(update.timeCreated); BOOST_CHECK_EQUAL(entitySnapshot.instances().size(), update.instancesData.size()); @@ -154,7 +154,7 @@ BOOST_AUTO_TEST_CASE(test_segment_setup) BOOST_AUTO_TEST_CASE(test_history_size_in_entity) { - armem::workingmemory::Entity entity("entity"); + armem::wm::Entity entity("entity"); armem::EntityUpdate update; update.entityID.entityName = entity.name(); @@ -197,7 +197,7 @@ BOOST_AUTO_TEST_CASE(test_history_size_in_entity) BOOST_AUTO_TEST_CASE(test_history_size_in_provider_segment) { - armem::workingmemory::ProviderSegment providerSegment("SomeRGBImageProvider"); + armem::wm::ProviderSegment providerSegment("SomeRGBImageProvider"); armem::EntityUpdate update; update.entityID.providerSegmentName = providerSegment.name(); diff --git a/source/RobotAPI/libraries/armem/test/ArMemQueryBuilderTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemQueryBuilderTest.cpp index c9dea813f..535735b09 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemQueryBuilderTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemQueryBuilderTest.cpp @@ -27,7 +27,7 @@ #include <RobotAPI/Test.h> #include "../client/query/Builder.h" #include "../client/query/query_fns.h" -#include "../core/workingMemory/ice_conversions.h" +#include "../core/workingmemory/ice_conversions.h" #include <iostream> diff --git a/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp index 4f0f297dd..42d357b00 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp @@ -25,7 +25,7 @@ #define ARMARX_BOOST_TEST #include <RobotAPI/Test.h> -#include "../server/query_proc/workingMemory/EntityQueryProcessor.h" +#include "../server/query_proc/workingmemory/EntityQueryProcessor.h" #include "../error.h" @@ -38,7 +38,7 @@ namespace armem = armarx::armem; namespace aron = armarx::aron; namespace query = armarx::armem::query::data; -using EntityQueryProcessor = armarx::armem::workingmemory::query_proc::EntityQueryProcessor; +using EntityQueryProcessor = armarx::armem::wm::query_proc::EntityQueryProcessor; namespace ArMemQueryTest @@ -50,19 +50,19 @@ namespace ArMemQueryTest struct Fixture { - armem::workingmemory::Entity entity; + armem::wm::Entity entity; - armem::workingmemory::query_proc::EntityQueryProcessor processor; + armem::wm::query_proc::EntityQueryProcessor processor; query::EntityQueryPtr entityQuery; - std::vector<armem::workingmemory::Entity> results; + std::vector<armem::wm::Entity> results; Fixture() { - entity = armem::workingmemory::Entity("entity"); + entity = armem::wm::Entity("entity"); - armem::workingmemory::EntitySnapshot snapshot; + armem::wm::EntitySnapshot snapshot; snapshot.time() = armem::Time::microSeconds(1000); entity.addSnapshot(snapshot); snapshot.time() = armem::Time::microSeconds(2000); @@ -119,7 +119,7 @@ BOOST_AUTO_TEST_CASE(test_entity_Single_latest) addResults(query::entity::Single()); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); BOOST_CHECK_EQUAL(result.size(), 1); @@ -134,7 +134,7 @@ BOOST_AUTO_TEST_CASE(test_entity_Single_existing) addResults(query::entity::Single { 3000 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); BOOST_CHECK_EQUAL(result.size(), 1); @@ -148,7 +148,7 @@ BOOST_AUTO_TEST_CASE(test_entity_Single_non_existing) addResults(query::entity::Single { 3500 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); BOOST_CHECK_EQUAL(result.size(), 0); @@ -161,7 +161,7 @@ BOOST_AUTO_TEST_CASE(test_entity_All) addResults(query::entity::All()); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); BOOST_CHECK_EQUAL(result.size(), entity.size()); @@ -182,7 +182,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_slice) addResults(query::entity::TimeRange{ 1500, 3500 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -203,7 +203,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_exact) addResults(query::entity::TimeRange{ 2000, 4000 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -224,7 +224,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_all) addResults(query::entity::TimeRange{ -1, -1 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -243,7 +243,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_empty) addResults(query::entity::TimeRange{ 6000, 1000 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -257,7 +257,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_from_start) addResults(query::entity::TimeRange{ -1, 2500 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -278,7 +278,7 @@ BOOST_AUTO_TEST_CASE(test_entity_TimeRange_to_end) addResults(query::entity::TimeRange{ 2500, -1 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -332,7 +332,7 @@ BOOST_AUTO_TEST_CASE(test_entity_IndexRange_all_default) addResults(query::entity::IndexRange(0, -1)); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -355,7 +355,7 @@ BOOST_AUTO_TEST_CASE(test_entity_IndexRange_slice) addResults(query::entity::IndexRange{ -4, -2 }); BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -383,7 +383,7 @@ BOOST_AUTO_TEST_CASE(test_entity_IndexRange_empty_range) BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); @@ -405,7 +405,7 @@ BOOST_AUTO_TEST_CASE(test_entity_IndexRange_empty_entity) BOOST_REQUIRE_GT(results.size(), 0); - for (const armem::workingmemory::Entity& result : results) + for (const armem::wm::Entity& result : results) { BOOST_CHECK_EQUAL(result.name(), entity.name()); BOOST_CHECK_EQUAL(result.size(), 0); diff --git a/source/RobotAPI/libraries/armem/util/util.h b/source/RobotAPI/libraries/armem/util/util.h index 675ac16e4..91a31651c 100644 --- a/source/RobotAPI/libraries/armem/util/util.h +++ b/source/RobotAPI/libraries/armem/util/util.h @@ -26,8 +26,8 @@ #include <vector> #include <optional> -#include <RobotAPI/libraries/armem/core/workingMemory/Entity.h> -#include <RobotAPI/libraries/armem/core/workingMemory/EntityInstance.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Entity.h> +#include <RobotAPI/libraries/armem/core/workingmemory/EntityInstance.h> #include <RobotAPI/libraries/aron/core/codegenerator/codeWriter/cpp/AronCppClass.h> namespace armarx::armem @@ -41,7 +41,7 @@ namespace armarx::armem * @return std::optional<AronClass> */ template <typename AronClass> - std::optional<AronClass> tryCast(const workingmemory::EntityInstance& item) + std::optional<AronClass> tryCast(const wm::EntityInstance& item) { static_assert(std::is_base_of<armarx::aron::cppcodegenerator::AronCppClass, AronClass>::value); @@ -67,7 +67,7 @@ namespace armarx::armem */ template <typename AronClass> std::vector<AronClass> - allOfType(const std::map<std::string, workingmemory::Entity>& entities) + allOfType(const std::map<std::string, wm::Entity>& entities) { static_assert(std::is_base_of<armarx::aron::cppcodegenerator::AronCppClass, AronClass>::value); @@ -113,7 +113,7 @@ namespace armarx::armem * @return vector of "pred"-transformed elements that can be cast to AronClass */ template <typename AronClass> - auto transformAllOfType(const std::map<std::string, workingmemory::Entity>& entities, + auto transformAllOfType(const std::map<std::string, wm::Entity>& entities, auto pred) -> std::vector<decltype(pred(AronClass()))> { static_assert(std::is_base_of<armarx::aron::cppcodegenerator::AronCppClass, diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp index 698b1ced4..694e98f08 100644 --- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp +++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp @@ -1,9 +1,9 @@ #include "MemoryViewer.h" -#include <RobotAPI/libraries/armem/core/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include <RobotAPI/libraries/armem_gui/gui_utils.h> -#include <RobotAPI/libraries/armem/core/diskMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/diskmemory/Memory.h> #include <ArmarXGui/libraries/SimpleConfigDialog/SimpleConfigDialog.h> @@ -155,7 +155,7 @@ namespace armarx::armem::gui armem::client::QueryInput input = memoryGroup->queryWidget()->queryInput(); armem::client::QueryResult result = reader.query(input); - armem::diskMemory::Memory dMem(name); + armem::d_ltm::Memory dMem(name); ARMARX_IMPORTANT << "RELOAD"; dMem.reload(p / name); ARMARX_IMPORTANT << "APPEND"; @@ -234,7 +234,7 @@ namespace armarx::armem::gui return; } - const std::optional<armem::workingmemory::Memory>& data = memoryData.at(selectedID.memoryName); + const std::optional<armem::wm::Memory>& data = memoryData.at(selectedID.memoryName); if (data) { @@ -243,10 +243,10 @@ namespace armarx::armem::gui return; } armem::MemoryID id = selectedID; - const armem::workingmemory::EntitySnapshot* snapshot = nullptr; + const armem::wm::EntitySnapshot* snapshot = nullptr; if (!id.hasTimestamp()) { - const armem::workingmemory::Entity& entity = data->getEntity(id); + const armem::wm::Entity& entity = data->getEntity(id); if (entity.empty()) { return; @@ -284,7 +284,7 @@ namespace armarx::armem::gui void MemoryViewer::updateMemoryTree() { - std::map<std::string, const armem::workingmemory::Memory*> convMap; + std::map<std::string, const armem::wm::Memory*> convMap; for (auto& [name, data] : memoryData) { if (data.has_value()) diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.h b/source/RobotAPI/libraries/armem_gui/MemoryViewer.h index 7bcd788a0..c2c2e6f4c 100644 --- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.h +++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.h @@ -104,7 +104,7 @@ namespace armarx::armem::gui armem::mns::MemoryNameSystemInterfacePrx mns; std::map<std::string, armem::client::Reader> memoryReaders; - std::map<std::string, std::optional<armem::workingmemory::Memory>> memoryData; + std::map<std::string, std::optional<armem::wm::Memory>> memoryData; QLayout* ltmControlWidgetLayout; armem::gui::LTMControlWidget* ltmControlWidget; diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp index ceaab2cd4..809201265 100644 --- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp +++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp @@ -89,10 +89,10 @@ namespace armarx::armem::gui::instance } - void InstanceView::update(const MemoryID& id, const workingmemory::Memory& memory) + void InstanceView::update(const MemoryID& id, const wm::Memory& memory) { aron::typenavigator::ObjectNavigatorPtr aronType = nullptr; - const armem::workingmemory::EntityInstance* instance = nullptr; + const armem::wm::EntityInstance* instance = nullptr; try { instance = &memory.getEntityInstance(id); @@ -113,7 +113,7 @@ namespace armarx::armem::gui::instance } - void InstanceView::update(const workingmemory::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType) + void InstanceView::update(const wm::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType) { currentInstance = instance; currentAronType = aronType; @@ -168,7 +168,7 @@ namespace armarx::armem::gui::instance treeItemData->setExpanded(true); } - void InstanceView::updateMetaData(const workingmemory::EntityInstanceMetadata& metadata) + void InstanceView::updateMetaData(const wm::EntityInstanceMetadata& metadata) { std::vector<std::string> items = { diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h index ce81a17a1..0b0a0ee26 100644 --- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h +++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h @@ -6,7 +6,7 @@ #include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> class QGroupBox; @@ -34,8 +34,8 @@ namespace armarx::armem::gui::instance void setStatusLabel(QLabel* statusLabel); void setUseTypeInfo(bool enable); - void update(const MemoryID& id, const workingmemory::Memory& memory); - void update(const workingmemory::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); + void update(const MemoryID& id, const wm::Memory& memory); + void update(const wm::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); void update(); @@ -56,7 +56,7 @@ namespace armarx::armem::gui::instance void updateInstanceID(const MemoryID& id); void updateData(const aron::datanavigator::DictNavigatorPtr& data, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr); - void updateMetaData(const workingmemory::EntityInstanceMetadata& metadata); + void updateMetaData(const wm::EntityInstanceMetadata& metadata); void updateImageView(const aron::datanavigator::DictNavigatorPtr& data); void showErrorMessage(const std::string& message); @@ -71,7 +71,7 @@ namespace armarx::armem::gui::instance TYPE = 2, }; - std::optional<workingmemory::EntityInstance> currentInstance; + std::optional<wm::EntityInstance> currentInstance; aron::typenavigator::ObjectNavigatorPtr currentAronType = nullptr; bool useTypeInfo = true; diff --git a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp index cb3dc4671..20f0a2f1a 100644 --- a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp +++ b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp @@ -50,11 +50,11 @@ namespace armarx::armem::gui::memory void TreeWidget::initBuilders() { workingmemoryBuilder.setExpand(true); - workingmemoryBuilder.setMakeItemFn([this](const std::string & name, const workingmemory::Memory * memory) + workingmemoryBuilder.setMakeItemFn([this](const std::string & name, const wm::Memory * memory) { return makeItem(name, *memory); }); - workingmemoryBuilder.setUpdateItemFn([this](const std::string&, const workingmemory::Memory * memory, QTreeWidgetItem * memoryItem) + workingmemoryBuilder.setUpdateItemFn([this](const std::string&, const wm::Memory * memory, QTreeWidgetItem * memoryItem) { updateContainerItem(*memory, memoryItem); if (memoryItem) @@ -66,11 +66,11 @@ namespace armarx::armem::gui::memory workingmemoryCoreSegmentBuilder.setExpand(true); - workingmemoryCoreSegmentBuilder.setMakeItemFn([this](const std::string & name, const workingmemory::CoreSegment & coreSeg) + workingmemoryCoreSegmentBuilder.setMakeItemFn([this](const std::string & name, const wm::CoreSegment & coreSeg) { return makeItem(name, coreSeg); }); - workingmemoryCoreSegmentBuilder.setUpdateItemFn([this](const std::string&, const workingmemory::CoreSegment & coreSeg, QTreeWidgetItem * coreSegItem) + workingmemoryCoreSegmentBuilder.setUpdateItemFn([this](const std::string&, const wm::CoreSegment & coreSeg, QTreeWidgetItem * coreSegItem) { updateTypedContainerItem(coreSeg, coreSegItem); updateChildren(coreSeg, coreSegItem); @@ -78,11 +78,11 @@ namespace armarx::armem::gui::memory }); workingmemoryProvSegmentBuilder.setExpand(true); - workingmemoryProvSegmentBuilder.setMakeItemFn([this](const std::string & name, const workingmemory::ProviderSegment & provSeg) + workingmemoryProvSegmentBuilder.setMakeItemFn([this](const std::string & name, const wm::ProviderSegment & provSeg) { return makeItem(name, provSeg); }); - workingmemoryProvSegmentBuilder.setUpdateItemFn([this](const std::string&, const workingmemory::ProviderSegment & provSeg, QTreeWidgetItem * provSegItem) + workingmemoryProvSegmentBuilder.setUpdateItemFn([this](const std::string&, const wm::ProviderSegment & provSeg, QTreeWidgetItem * provSegItem) { updateTypedContainerItem(provSeg, provSegItem); updateChildren(provSeg, provSegItem); @@ -90,18 +90,18 @@ namespace armarx::armem::gui::memory }); // entityBuilder.setExpand(true); - workingmemoryEntityBuilder.setMakeItemFn([this](const std::string & name, const workingmemory::Entity & entity) + workingmemoryEntityBuilder.setMakeItemFn([this](const std::string & name, const wm::Entity & entity) { return makeItem(name, entity); }); - workingmemoryEntityBuilder.setUpdateItemFn([this](const std::string&, const workingmemory::Entity & entity, QTreeWidgetItem * entityItem) + workingmemoryEntityBuilder.setUpdateItemFn([this](const std::string&, const wm::Entity & entity, QTreeWidgetItem * entityItem) { updateContainerItem(entity, entityItem); updateChildren(entity, entityItem); return true; }); - workingmemorySnapshotBuilder.setMakeItemFn([this](const armem::Time & time, const workingmemory::EntitySnapshot & snapshot) + workingmemorySnapshotBuilder.setMakeItemFn([this](const armem::Time & time, const wm::EntitySnapshot & snapshot) { QTreeWidgetItem* item = makeItem(toDateTimeMilliSeconds(time), snapshot); item->setData(int(Columns::KEY), Qt::ItemDataRole::UserRole, QVariant(static_cast<qlonglong>(snapshot.time().toMicroSeconds()))); @@ -109,27 +109,27 @@ namespace armarx::armem::gui::memory }); workingmemorySnapshotBuilder.setCompareFn([](const auto & pair, QTreeWidgetItem * item) { - const workingmemory::EntitySnapshot& snapshot = pair.second; + const wm::EntitySnapshot& snapshot = pair.second; return armarx::detail::compare(static_cast<qlonglong>(snapshot.time().toMicroSeconds()), item->data(int(Columns::KEY), Qt::ItemDataRole::UserRole).toLongLong()); }); - workingmemorySnapshotBuilder.setUpdateItemFn([this](const armem::Time&, const workingmemory::EntitySnapshot & snapshot, QTreeWidgetItem * snapshotItem) + workingmemorySnapshotBuilder.setUpdateItemFn([this](const armem::Time&, const wm::EntitySnapshot & snapshot, QTreeWidgetItem * snapshotItem) { updateContainerItem(snapshot, snapshotItem); updateChildren(snapshot, snapshotItem); return true; }); - workingmemoryInstanceBuilder.setMakeItemFn([this](const workingmemory::EntityInstance & instance) + workingmemoryInstanceBuilder.setMakeItemFn([this](const wm::EntityInstance & instance) { QTreeWidgetItem* item = makeItem("", instance); return item; }); - workingmemoryInstanceBuilder.setCompareFn([](const workingmemory::EntityInstance & lhs, QTreeWidgetItem * rhsItem) + workingmemoryInstanceBuilder.setCompareFn([](const wm::EntityInstance & lhs, QTreeWidgetItem * rhsItem) { return armarx::detail::compare(lhs.index(), rhsItem->text(0).toInt()); }); - workingmemoryInstanceBuilder.setUpdateItemFn([this](const workingmemory::EntityInstance & instance, QTreeWidgetItem * instanceItem) + workingmemoryInstanceBuilder.setUpdateItemFn([this](const wm::EntityInstance & instance, QTreeWidgetItem * instanceItem) { updateItemItem(instance, instanceItem); updateChildren(instance, instanceItem); @@ -139,7 +139,7 @@ namespace armarx::armem::gui::memory } - void TreeWidget::update(const armem::workingmemory::Memory& memory) + void TreeWidget::update(const armem::wm::Memory& memory) { // Removing elements during the update can create unwanted signals triggering selection handling. handleSelections = false; @@ -148,7 +148,7 @@ namespace armarx::armem::gui::memory emit updated(); } - void TreeWidget::update(const std::map<std::string, const armem::workingmemory::Memory*>& memories) + void TreeWidget::update(const std::map<std::string, const armem::wm::Memory*>& memories) { handleSelections = false; updateChildren(memories, this); @@ -181,27 +181,27 @@ namespace armarx::armem::gui::memory _selectedID = id; const std::string levelName = item->data(int(Columns::LEVEL), Qt::UserRole).toString().toStdString(); - if (levelName == workingmemory::Memory().getLevelName()) + if (levelName == wm::Memory().getLevelName()) { emit memorySelected(*_selectedID); } - else if (levelName == workingmemory::CoreSegment().getLevelName()) + else if (levelName == wm::CoreSegment().getLevelName()) { emit coreSegmentSelected(*_selectedID); } - else if (levelName == workingmemory::ProviderSegment().getLevelName()) + else if (levelName == wm::ProviderSegment().getLevelName()) { emit providerSegmentSelected(*_selectedID); } - else if (levelName == workingmemory::Entity().getLevelName()) + else if (levelName == wm::Entity().getLevelName()) { emit entitySelected(*_selectedID); } - else if (levelName == workingmemory::EntitySnapshot().getLevelName()) + else if (levelName == wm::EntitySnapshot().getLevelName()) { emit snapshotSelected(*_selectedID); } - else if (levelName == workingmemory::EntityInstance().getLevelName()) + else if (levelName == wm::EntityInstance().getLevelName()) { emit instanceSelected(*_selectedID); } @@ -212,48 +212,48 @@ namespace armarx::armem::gui::memory } - void TreeWidget::updateChildren(const armem::workingmemory::Memory& memory, QTreeWidget* tree) + void TreeWidget::updateChildren(const armem::wm::Memory& memory, QTreeWidget* tree) { - updateChildren(std::map<std::string, const armem::workingmemory::Memory*> {{memory.name(), &memory}}, tree); + updateChildren(std::map<std::string, const armem::wm::Memory*> {{memory.name(), &memory}}, tree); } - void TreeWidget::updateChildren(const std::map<std::string, const armem::workingmemory::Memory*>& memories, QTreeWidget* tree) + void TreeWidget::updateChildren(const std::map<std::string, const armem::wm::Memory*>& memories, QTreeWidget* tree) { workingmemoryBuilder.updateTree(tree, memories); } - void TreeWidget::updateChildren(const armem::workingmemory::Memory& memory, QTreeWidgetItem* memoryItem) + void TreeWidget::updateChildren(const armem::wm::Memory& memory, QTreeWidgetItem* memoryItem) { workingmemoryCoreSegmentBuilder.updateTree(memoryItem, memory.coreSegments()); } - void TreeWidget::updateChildren(const armem::workingmemory::CoreSegment& coreSeg, QTreeWidgetItem* coreSegItem) + void TreeWidget::updateChildren(const armem::wm::CoreSegment& coreSeg, QTreeWidgetItem* coreSegItem) { workingmemoryProvSegmentBuilder.updateTree(coreSegItem, coreSeg.providerSegments()); } - void TreeWidget::updateChildren(const armem::workingmemory::ProviderSegment& provSeg, QTreeWidgetItem* provSegItem) + void TreeWidget::updateChildren(const armem::wm::ProviderSegment& provSeg, QTreeWidgetItem* provSegItem) { workingmemoryEntityBuilder.updateTree(provSegItem, provSeg.entities()); } - void TreeWidget::updateChildren(const armem::workingmemory::Entity& entity, QTreeWidgetItem* entityItem) + void TreeWidget::updateChildren(const armem::wm::Entity& entity, QTreeWidgetItem* entityItem) { workingmemorySnapshotBuilder.updateTree(entityItem, entity.history()); } - void TreeWidget::updateChildren(const armem::workingmemory::EntitySnapshot& snapshot, QTreeWidgetItem* snapshotItem) + void TreeWidget::updateChildren(const armem::wm::EntitySnapshot& snapshot, QTreeWidgetItem* snapshotItem) { workingmemoryInstanceBuilder.updateTree(snapshotItem, snapshot.instances()); } - void TreeWidget::updateChildren(const armem::workingmemory::EntityInstance& data, QTreeWidgetItem* dataItem) + void TreeWidget::updateChildren(const armem::wm::EntityInstance& data, QTreeWidgetItem* dataItem) { (void) data, (void) dataItem; } - QTreeWidgetItem* TreeWidget::makeItem(const std::string& key, const armem::detail::MemoryItem& memoryItem) + QTreeWidgetItem* TreeWidget::makeItem(const std::string& key, const armem::base::detail::MemoryItem& memoryItem) { (void) key; QStringList columns; @@ -270,14 +270,14 @@ namespace armarx::armem::gui::memory return item; } - void TreeWidget::updateItemItem(const armem::detail::MemoryItem& level, QTreeWidgetItem* item) + void TreeWidget::updateItemItem(const armem::base::detail::MemoryItem& level, QTreeWidgetItem* item) { (void) level, (void) item; } template <class... T> void TreeWidget::updateContainerItem( - const armem::workingmemory::detail::MemoryContainer<T...>& container, QTreeWidgetItem* item) + const armem::wm::detail::MemoryContainer<T...>& container, QTreeWidgetItem* item) { updateItemItem(container, item); item->setText(int(Columns::SIZE), QString::number(container.size())); @@ -285,7 +285,7 @@ namespace armarx::armem::gui::memory template <class... T> void TreeWidget::updateTypedContainerItem( - const armem::workingmemory::detail::TypedEntityContainer<T...>& container, QTreeWidgetItem* item) + const armem::wm::detail::TypedEntityContainer<T...>& container, QTreeWidgetItem* item) { updateContainerItem(container, item); std::string typeName; diff --git a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.h b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.h index d93bed9ab..1ce801920 100644 --- a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.h +++ b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.h @@ -4,8 +4,8 @@ #include <QTreeWidget> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> -#include <RobotAPI/libraries/armem/core/longtermMemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> +#include <RobotAPI/libraries/armem/core/longtermmemory/Memory.h> #include <RobotAPI/libraries/armem_gui/TreeWidgetBuilder.h> @@ -22,8 +22,8 @@ namespace armarx::armem::gui::memory TreeWidget(); - void update(const armem::workingmemory::Memory& memory); - void update(const std::map<std::string, const armem::workingmemory::Memory*>& memories); + void update(const armem::wm::Memory& memory); + void update(const std::map<std::string, const armem::wm::Memory*>& memories); std::optional<MemoryID> selectedID() const; @@ -56,34 +56,34 @@ namespace armarx::armem::gui::memory void initWidget(); void initBuilders(); - void updateChildren(const armem::workingmemory::Memory& memory, QTreeWidget* tree); - void updateChildren(const std::map<std::string, const armem::workingmemory::Memory*>& memories, QTreeWidget* tree); + void updateChildren(const armem::wm::Memory& memory, QTreeWidget* tree); + void updateChildren(const std::map<std::string, const armem::wm::Memory*>& memories, QTreeWidget* tree); - void updateChildren(const armem::workingmemory::Memory& memory, QTreeWidgetItem* memoryItem); - void updateChildren(const armem::workingmemory::CoreSegment& coreSeg, QTreeWidgetItem* coreSegItem); - void updateChildren(const armem::workingmemory::ProviderSegment& provSeg, QTreeWidgetItem* provSegItem); - void updateChildren(const armem::workingmemory::Entity& entity, QTreeWidgetItem* entityItem); - void updateChildren(const armem::workingmemory::EntitySnapshot& snapshot, QTreeWidgetItem* snapshotItem); - void updateChildren(const armem::workingmemory::EntityInstance& data, QTreeWidgetItem* parent); + void updateChildren(const armem::wm::Memory& memory, QTreeWidgetItem* memoryItem); + void updateChildren(const armem::wm::CoreSegment& coreSeg, QTreeWidgetItem* coreSegItem); + void updateChildren(const armem::wm::ProviderSegment& provSeg, QTreeWidgetItem* provSegItem); + void updateChildren(const armem::wm::Entity& entity, QTreeWidgetItem* entityItem); + void updateChildren(const armem::wm::EntitySnapshot& snapshot, QTreeWidgetItem* snapshotItem); + void updateChildren(const armem::wm::EntityInstance& data, QTreeWidgetItem* parent); - QTreeWidgetItem* makeItem(const std::string& key, const armem::detail::MemoryItem& container); + QTreeWidgetItem* makeItem(const std::string& key, const armem::base::detail::MemoryItem& container); - void updateItemItem(const armem::detail::MemoryItem& level, QTreeWidgetItem* item); + void updateItemItem(const armem::base::detail::MemoryItem& level, QTreeWidgetItem* item); template <class... T> - void updateContainerItem(const armem::workingmemory::detail::MemoryContainer<T...>& container, QTreeWidgetItem* item); + void updateContainerItem(const armem::wm::detail::MemoryContainer<T...>& container, QTreeWidgetItem* item); template <class... T> - void updateTypedContainerItem(const armem::workingmemory::detail::TypedEntityContainer<T...>& container, QTreeWidgetItem* item); + void updateTypedContainerItem(const armem::wm::detail::TypedEntityContainer<T...>& container, QTreeWidgetItem* item); private: - MapTreeWidgetBuilder<std::string, const workingmemory::Memory*> workingmemoryBuilder; - MapTreeWidgetBuilder<std::string, workingmemory::CoreSegment> workingmemoryCoreSegmentBuilder; - MapTreeWidgetBuilder<std::string, workingmemory::ProviderSegment> workingmemoryProvSegmentBuilder; - MapTreeWidgetBuilder<std::string, workingmemory::Entity> workingmemoryEntityBuilder; - MapTreeWidgetBuilder<armem::Time, workingmemory::EntitySnapshot> workingmemorySnapshotBuilder; - TreeWidgetBuilder<std::vector<workingmemory::EntityInstance>> workingmemoryInstanceBuilder; + MapTreeWidgetBuilder<std::string, const wm::Memory*> workingmemoryBuilder; + MapTreeWidgetBuilder<std::string, wm::CoreSegment> workingmemoryCoreSegmentBuilder; + MapTreeWidgetBuilder<std::string, wm::ProviderSegment> workingmemoryProvSegmentBuilder; + MapTreeWidgetBuilder<std::string, wm::Entity> workingmemoryEntityBuilder; + MapTreeWidgetBuilder<armem::Time, wm::EntitySnapshot> workingmemorySnapshotBuilder; + TreeWidgetBuilder<std::vector<wm::EntityInstance>> workingmemoryInstanceBuilder; std::optional<MemoryID> _selectedID; /// While this is false, do not handle selection updates. diff --git a/source/RobotAPI/libraries/armem_robot_localization/TransformReader.cpp b/source/RobotAPI/libraries/armem_robot_localization/TransformReader.cpp index 89f85100f..c3b24c489 100644 --- a/source/RobotAPI/libraries/armem_robot_localization/TransformReader.cpp +++ b/source/RobotAPI/libraries/armem_robot_localization/TransformReader.cpp @@ -47,9 +47,9 @@ // this package #include <RobotAPI/libraries/armem/client/query/Builder.h> #include <RobotAPI/libraries/armem/client/query/query_fns.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> #include <RobotAPI/libraries/armem/server/MemoryRemoteGui.h> #include <RobotAPI/libraries/aron/core/navigator/type/NavigatorFactory.h> #include <RobotAPI/libraries/core/FramedPose.h> @@ -128,7 +128,7 @@ namespace armarx::armem // } - std::vector<std::string> TransformReader::buildTransformChain(const armem::workingmemory::Memory& memory, + std::vector<std::string> TransformReader::buildTransformChain(const armem::wm::Memory& memory, const TransformQuery& query) const { ARMARX_DEBUG << "Building transform chain"; @@ -202,7 +202,7 @@ namespace armarx::armem return chain; } - inline Transform convertEntityToTransform(const armem::workingmemory::EntityInstance& item) + inline Transform convertEntityToTransform(const armem::wm::EntityInstance& item) { aron::Transform aronTransform; aronTransform.fromAron(item.data()); @@ -271,7 +271,7 @@ namespace armarx::armem return simox::math::interpolatePose(posePreIt->transform, poseNextIt->transform, t); } - Eigen::Affine3f TransformReader::obtainTransform(const std::string& entityName, const armem::workingmemory::ProviderSegment& agentProviderSegment, const int64_t timestamp) const + Eigen::Affine3f TransformReader::obtainTransform(const std::string& entityName, const armem::wm::ProviderSegment& agentProviderSegment, const int64_t timestamp) const { ARMARX_DEBUG << "getEntity:" + entityName; @@ -329,7 +329,7 @@ namespace armarx::armem } std::vector<Eigen::Affine3f> - TransformReader::obtainTransforms(const armem::workingmemory::Memory& memory, + TransformReader::obtainTransforms(const armem::wm::Memory& memory, const std::vector<std::string>& tfChain, const std::string& agent, const std::int64_t& timestamp) const diff --git a/source/RobotAPI/libraries/armem_robot_localization/TransformReader.h b/source/RobotAPI/libraries/armem_robot_localization/TransformReader.h index f7f6533fb..9b0489954 100644 --- a/source/RobotAPI/libraries/armem_robot_localization/TransformReader.h +++ b/source/RobotAPI/libraries/armem_robot_localization/TransformReader.h @@ -64,14 +64,14 @@ namespace armarx::armem } private: - std::vector<std::string> buildTransformChain(const armem::workingmemory::Memory& memory, + std::vector<std::string> buildTransformChain(const armem::wm::Memory& memory, const TransformQuery& query) const; - std::vector<Eigen::Affine3f> obtainTransforms(const armem::workingmemory::Memory& memory, + std::vector<Eigen::Affine3f> obtainTransforms(const armem::wm::Memory& memory, const std::vector<std::string>& tfChain, const std::string& agent, const std::int64_t& timestamp) const; - Eigen::Affine3f obtainTransform(const std::string& entityName, const armem::workingmemory::ProviderSegment& agentProviderSegment, int64_t timestamp) const; + Eigen::Affine3f obtainTransform(const std::string& entityName, const armem::wm::ProviderSegment& agentProviderSegment, int64_t timestamp) const; armem::client::Reader memoryReader; diff --git a/source/RobotAPI/libraries/armem_robot_localization/TransformWriter.cpp b/source/RobotAPI/libraries/armem_robot_localization/TransformWriter.cpp index d805dc9d8..1ac8ea58b 100644 --- a/source/RobotAPI/libraries/armem_robot_localization/TransformWriter.cpp +++ b/source/RobotAPI/libraries/armem_robot_localization/TransformWriter.cpp @@ -37,9 +37,9 @@ #include <RobotAPI/libraries/armem/client/query/Builder.h> #include <RobotAPI/libraries/armem/client/query/query_fns.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ice_conversions.h> -#include <RobotAPI/libraries/armem/core/workingMemory/Memory.h> -#include <RobotAPI/libraries/armem/core/workingMemory/ProviderSegment.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> +#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ProviderSegment.h> #include <RobotAPI/libraries/armem/server/MemoryRemoteGui.h> #include <RobotAPI/libraries/aron/core/navigator/type/NavigatorFactory.h> #include <RobotAPI/libraries/core/FramedPose.h> -- GitLab