37 "UserAssistedSegmenterResult",
38 "Name of the output segmented point cloud.");
44 "UserAssistedSegmenterUpdates",
45 "Topic where received point clouds are reported.");
52 "Rate [1/s] the result point cloud will be published at."
53 "If zero, the point cloud will be published exactly once.");
59 return "UserAssistedSegmenter";
81 if (publishFrequency > 0)
86 static_cast<int>(std::round(1000.f / publishFrequency)));
113 PointCloudL::Ptr pointCloudPtr(
new PointCloudL());
120 ARMARX_VERBOSE <<
"Received point cloud with " << pointCloudPtr->size() <<
" points.";
122 const visionx::ColoredLabeledPointCloud visionxPointCloud =
124 updatesListener->reportSegmentation(visionxPointCloud);
133 resultPointCloud.reset(
new PointCloudL());
140 else if (!provideTask->isRunning())
142 provideTask->start();
149 if (resultPointCloud)
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Property< PropertyType > getProperty(const std::string &name)
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.
The periodic task executes one thread method repeatedly using the time period specified in the constr...
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
PointCloudProcessorPropertyDefinitions(std::string prefix)
void enableResultPointClouds(std::string resultProviderName="")
Enables visualization.
int getPointClouds(const PointCloudPtrT &pointCloudPtr)
Poll PointClouds from provider.
bool waitForPointClouds(int milliseconds=1000)
Wait for new PointClouds.
void provideResultPointClouds(const PointCloudPtrT &pointClouds, std::string providerName="")
sends result PointClouds for visualization
UserAssistedSegmenterPropertyDefinitions.
UserAssistedSegmenterPropertyDefinitions(std::string prefix)
virtual armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
virtual void process() override
virtual void onExitPointCloudProcessor() override
virtual void onConnectPointCloudProcessor() override
virtual void onDisconnectPointCloudProcessor() override
void provideResultPointCloud()
virtual void onInitPointCloudProcessor() override
virtual std::string getDefaultName() const override
virtual void publishSegmentation(const visionx::ColoredLabeledPointCloud &pointCloud, const Ice::Current &=Ice::emptyCurrent) override
#define ARMARX_INFO
The normal logging level.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
#define ARMARX_VERBOSE
The logging level for verbose information.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.