42 MetaInfoSizeBasePtr infoBase;
43 armarx::Blob result = sharedMemoryProvider->getData(infoBase);
45 info = MetaPointCloudFormatPtr::dynamicCast(infoBase);
49 MetaPointCloudFormatPtr
54 return sharedMemoryProvider->getMetaInfo();
71 intermediateBuffer.resize(info->capacity);
73 this, info,
"PointCloudProvider");
86 if (!sharedMemoryProvider)
89 ARMARX_INFO <<
"Shared memory provider is null: Recreating it";
92 this, info,
"PointCloudProvider");
94 sharedMemoryProvider->start();
104 if (sharedMemoryProvider)
106 sharedMemoryProvider->stop();
107 sharedMemoryProvider =
nullptr;
115 if (sharedMemoryProvider)
117 sharedMemoryProvider->stop();
118 sharedMemoryProvider =
nullptr;
129 "PointCloudTimestamp",
130 new armarx::Variant(IceUtil::Time::microSeconds(info->timeProvided).toDateTime()));
138 MetaPointCloudFormatPtr
142 MetaPointCloudFormatPtr info =
new MetaPointCloudFormat();
144 info->type = PointContentType::eColoredPoints;
145 info->capacity = 640 * 480 *
sizeof(ColoredPoint3D);
146 info->size = info->capacity;
The IceSharedMemoryProvider provides data via Ice or shared memory.
void offeringTopic(const std::string &name)
Registers a topic for retrival after initialization.
TopicProxyType getTopic(const std::string &name)
Returns a proxy of the specified topic.
std::string getName() const
Retrieve name of object.
void setMetaInfo(const std::string &id, const VariantBasePtr &value)
Allows to set meta information that can be queried live via Ice interface on the ArmarXManager.
The Variant class is described here: Variants.
void onInitComponent() override
virtual void onInitPointCloudProvider()=0
This is called when the Component::onInitComponent() is called.
void onDisconnectComponent() override
Hook for subclass.
void updateComponentMetaInfo(const MetaPointCloudFormatPtr &info)
MetaPointCloudFormatPtr getPointCloudFormat(const Ice::Current &c=Ice::emptyCurrent) override
Returns the point cloud format info struct via Ice.
virtual void onConnectPointCloudProvider()
This is called when the Component::onConnectComponent() setup is called.
void onConnectComponent() override
virtual MetaPointCloudFormatPtr getDefaultPointCloudFormat()
default point cloud format used to initialize shared memory
virtual void onExitPointCloudProvider()=0
This is called when the Component::onExitComponent() setup is called.
void onExitComponent() override
PointCloudProcessorInterfacePrx pointCloudProcessorProxy
Ice proxy of the point cloud processor interface.
armarx::Blob getPointCloud(MetaPointCloudFormatPtr &info, const Ice::Current &c=Ice::emptyCurrent) override
Retrieve point clouds via Ice.
#define ARMARX_INFO
The normal logging level.
This file offers overloads of toIce() and fromIce() functions for STL container types.