Go to the documentation of this file.
29 #include <Eigen/Geometry>
31 #include <IceUtil/Time.h>
45 #include <RobotAPI/libraries/armem_robot_state/aron/Transform.aron.generated.h>
57 ARMARX_DEBUG <<
"TransformWriter: registerPropertyDefinitions";
59 def->optional(properties.coreSegmentID.memoryName, propertyPrefix +
"MemoryName");
60 def->optional(properties.coreSegmentID.coreSegmentName,
61 propertyPrefix +
"LocalizationSegmentName",
62 "Name of the localization memory core segment to use.");
70 << properties.coreSegmentID.memoryName <<
"' ...";
73 memoryWriter = memoryNameSystem.
useWriter(properties.coreSegmentID);
75 << properties.coreSegmentID <<
"'";
86 const ::armarx::armem::robot_state::localization::Transform&
transform)
88 std::lock_guard g{memoryWriterMutex};
91 properties.coreSegmentID.withProviderSegmentName(
transform.header.agent);
98 update.entityID = entityID;
99 update.referencedTime = timestamp;
101 arondto::Transform aronTransform;
103 update.instancesData = {aronTransform.toAron()};
110 if (not updateResult.success)
115 return updateResult.success;
Result of an EntityUpdate.
Writer useWriter(const MemoryID &memoryID)
Use a memory server and get a writer for it.
An update of an entity for a specific point in time.
CommitResult commit(const Commit &commit) const
Writes a Commit to the memory.
bool update(mongocxx::collection &coll, const nlohmann::json &query, const nlohmann::json &update)
Represents a point in time.
MemoryID withEntityName(const std::string &name) const
auto transform(const Container< InputT, Alloc > &in, OutputT(*func)(InputT const &)) -> Container< OutputT, typename std::allocator_traits< Alloc >::template rebind_alloc< OutputT > >
Convenience function (with less typing) to transform a container of type InputT into the same contain...
The memory name system (MNS) client.
Indicates that a query to the Memory Name System failed.
void toAron(arondto::ObjectInstance &dto, const RobotState &bo)