33#include <VisionX/interface/core/DataTypes.h>
34#include <VisionX/interface/core/PointCloudProcessorInterface.h>
42 public virtual ImageAndPointCloudProviderInterface
108 virtual public PointCloudAndImageProcessorInterface
242 template <
typename Po
intT>
246 ImageDimension imageDimension,
251 ARMARX_VERBOSE <<
"Enabling ResultImageProvider with " << numberImages
252 <<
" result images.";
254 Component::create<ResultImageAndPointCloudProvider>();
255 myProvider->setName(resultProviderName.empty() ?
getName() +
"Result"
256 : resultProviderName);
259 myProvider->setNumberResultImages(numberImages);
260 myProvider->setResultImageFormat(imageDimension, imageType);
265 if (resultProviderName ==
"")
267 resultProviderName =
getName() +
"Result";
275 << resultProviderName;
279 MetaPointCloudFormatPtr info =
290 myProvider->setName(resultProviderName);
291 myProvider->setShmCapacity(capacity);
292 myProvider->setPointContentType(pointContentType);
307 ARMARX_IMPORTANT <<
"before waitForObjectState(armarx::eManagedIceObjectStarted);";
308 myProvider->getObjectScheduler()->waitForObjectState(
309 armarx::eManagedIceObjectStarted);
310 ARMARX_IMPORTANT <<
"after waitForObjectState(armarx::eManagedIceObjectStarted);";
virtual void onExitComponent()
Hook for subclass.
virtual void onDisconnectComponent()
Hook for subclass.
virtual void onConnectComponent()=0
Pure virtual hook for the subclass.
std::string getName() const
Retrieve name of object.
virtual void onInitComponent()=0
Pure virtual hook for the subclass.
ArmarXManagerPtr getArmarXManager() const
Returns the ArmarX manager used to add and remove components.
The ImageProcessor class provides an interface for access to ImageProviders via Ice and shared memory...
void onInitComponent() override
IceInternal::Handle< ResultImageProvider > resultImageProvider
void onDisconnectComponent() override
void onConnectComponent() override
void onExitComponent() override
bool hasSharedMemorySupport(const Ice::Current &c=Ice::emptyCurrent) override
The PointCloudAndImageProcessor class provides an interface for access to PointCloudProviders and Ima...
void onInitComponent() override
virtual void onConnectPointCloudAndImageProcessor()=0
Implement this method in your PointCloudAndImageProcessor in order execute parts when the component i...
void onConnectImageProcessor() override
Implement this method in the ImageProcessor in order execute parts when the component is fully initia...
void onDisconnectComponent() override
void onExitImageProcessor() override
Exit the ImapeProcessor component.
virtual void onDisconnectPointCloudAndImageProcessor()
Implement this method in the PointCloudAndImageProcessor in order to execute parts when the component...
void process() override
Process the vision component.
void onExitPointCloudProcessor() override
Exit the ImapeProcessor component.
void enableResultImagesAndPointClouds(std::string resultProviderName, int numberImages, ImageDimension imageDimension, ImageType imageType)
void onInitImageProcessor() override
Setup the vision component.
void onConnectPointCloudProcessor() override
Implement this method in the PointCloudProcessor in order execute parts when the component is fully i...
void onConnectComponent() override
virtual void onExitPointCloudAndImageProcessor()=0
Exit the ImapeProcessor component.
void onDisconnectPointCloudProcessor() override
Implement this method in the PointCloudProcessor in order execute parts when the component looses net...
virtual void onInitPointCloudAndImageProcessor()=0
Setup the vision component.
void onExitComponent() override
void onInitPointCloudProcessor() override
Setup the vision component.
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and sha...
virtual void onInitComponent() override
std::map< std::string, IceInternal::Handle< ResultPointCloudProvider > > resultPointCloudProviders
virtual void onDisconnectComponent() override
std::shared_mutex resultProviderMutex
virtual void onConnectComponent() override
virtual void onExitComponent() override
std::map< std::string, PointCloudProviderInfo > pointCloudProviderInfoMap
bool hasSharedMemorySupport(const Ice::Current &c=Ice::emptyCurrent) override
friend class PointCloudAndImageProcessor
bool hasSharedMemorySupport(const Ice::Current &c)
void onDisconnectComponent()
Hook for subclass.
std::string getDefaultName() const
Retrieve default name of component.
void onConnectComponent()
ResultPointCloudProvider()
virtual std::string getDefaultName() const override
Retrieve default name of component.
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
#define ARMARX_VERBOSE
The logging level for verbose information.