7#include <SimoxUtility/algorithm/string/string_tools.h>
18#include <armarx/navigation/algorithms/aron/Room.aron.generated.h>
28 const std::string& providerName,
32 std::vector<armarx::navigation::algorithms::Room>{room}, providerName,
timestamp);
37 const std::string& providerName,
40 std::lock_guard g{writeMutex};
45 if (not result.success)
55 for (
const auto& room :
rooms)
58 <<
"A room must have a name as it is used as the entity name.";
60 navigation::algorithms::arondto::Room dto;
64 update.entityID = providerId.withEntityName(room.name).withTimestamp(
timestamp);
66 update.instancesData = {dto.toAron()};
84 return "mem.nav.rooms.";
data::AddSegmentResult addSegment(const std::string &coreSegmentName, const std::string &providerSegmentName, bool clearWhenExists=false) const
CommitResult commit(const Commit &commit) const
Writes a Commit to the memory.
armem::client::Writer & memoryWriter()
bool store(const armarx::navigation::algorithms::Room &room, const std::string &providerName, const armem::Time ×tamp)
std::string propertyPrefix() const override
Properties defaultProperties() const override
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
#define ARMARX_ERROR
The logging level for unexpected behaviour, that must be fixed.
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.
armarx::core::time::DateTime Time
constexpr const char * RoomsCoreSegmentName
constexpr const char * NavigationMemoryName
void toAron(arondto::Circle &dto, const Circle &bo)
std::vector< std::string > allErrorMessages() const
A bundle of updates to be sent to the memory.
An update of an entity for a specific point in time.