6#include <RobotAPI/libraries/armem_laser_scans/aron/LaserScan.aron.generated.h>
21 ARMARX_DEBUG <<
"LaserScansWriter: registerPropertyDefinitions";
23 const std::string prefix = propertyPrefix;
50 const std::string& frame,
51 const std::string& agentName,
54 std::lock_guard g{memoryWriterMutex};
58 ARMARX_VERBOSE <<
"Storing scan with " << laserScan.size() <<
" elements";
60 if (not result.success)
70 const auto entityID = providerId.withEntityName(frame).withTimestamp(
timestamp);
73 update.entityID = entityID;
75 arondto::LaserScanStamped aronSensorData;
79 auto dict = aronSensorData.toAron();
80 dict->addElementCopy(
"scan",
toAron(laserScan));
82 update.instancesData = {dict};
The memory name system (MNS) client.
Writer useWriter(const MemoryID &memoryID)
Use a memory server and get a writer for it.
Indicates that a query to the Memory Name System failed.
bool storeSensorData(const LaserScan &laserScan, const std::string &frame, const std::string &agentName, const armem::Time ×tamp)
void connect(armem::client::MemoryNameSystem &memoryNameSystem)
void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr &def)
to be called in Component::onConnectComponent
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
#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.
#define ARMARX_VERBOSE
The logging level for verbose information.
const std::string memoryName
int64_t toAron(const armem::Time ×tamp)
armarx::core::time::DateTime Time
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Result of an EntityUpdate.
An update of an entity for a specific point in time.