|
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and shared memory. More...
#include <VisionX/components/pointcloud_core/PointCloudProcessor.h>
Public Member Functions | |
template<typename PointT > | |
void | enableResultPointCloudForInputProvider (const std::string &inputProviderName, const std::string &resultProviderName="") |
void | enableResultPointClouds (std::string resultProviderName, size_t shmCapacity, PointContentType pointContentType) |
template<typename PointT > | |
void | enableResultPointClouds (std::string resultProviderName="") |
Enables visualization. More... | |
MetaPointCloudFormatPtr | getPointCloudFormat (std::string providerName) |
std::string | getPointCloudFrame (const std::string &providerName, const std::string &defaultFrame="") |
Get the reference frame of the point cloud by given provider. More... | |
PointCloudProviderInfo | getPointCloudProvider (bool waitForProxy=false) |
PointCloudProviderInfo | getPointCloudProvider (std::string name, bool waitForProxy=false) |
Select an PointCloudProvider. More... | |
std::vector< std::string > | getPointCloudProviderNames () const |
Get the names of providers for which usingPointCloudProvider() has been called. More... | |
template<typename PointCloudPtrT > | |
int | getPointClouds (const PointCloudPtrT &pointCloudPtr) |
Poll PointClouds from provider. More... | |
template<typename PointCloudPtrT > | |
bool | getPointClouds (std::string providerName, const PointCloudPtrT &pointClouds) |
Poll PointClouds from provider. More... | |
PointCloudTransferStats | getPointCloudTransferStats (std::string providerName, bool resetStats=false) |
Retrieve statistics for a connection to an PointCloudProvider. More... | |
bool | isPointCloudProviderKnown (const std::string &providerName) const |
Indicate whether the given name identifies a known point cloud provider. More... | |
bool | pointCloudHasNewData (std::string providerName) |
Returns current status for the given point cloud. More... | |
template<typename PointCloudPtrT > | |
void | provideResultPointClouds (const PointCloudPtrT &pointClouds, std::string providerName="") |
sends result PointClouds for visualization More... | |
template<typename PointCloudPtrT > | |
void | provideResultPointClouds (const std::string &providerName, const PointCloudPtrT &pointClouds) |
void | releasePointCloudProvider (std::string providerName) |
Removes topic subscription and provider proxy dependency to release a point cloud provider. More... | |
void | usingPointCloudProvider (std::string providerName) |
Registers a delayed topic subscription and a delayed provider proxy retrieval which will be available on the start of the component. More... | |
void | usingPointCloudProviderFromProperty (const std::string &prop) |
bool | waitForPointClouds (const std::string &providerName, int milliseconds=1000) |
Wait for new PointClouds. More... | |
bool | waitForPointClouds (int milliseconds=1000) |
Wait for new PointClouds. More... | |
Public Member Functions inherited from Component | |
virtual void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) |
Implement this function if you would like to react to changes in the properties. More... | |
void | forceComponentCreatedByComponentCreateFunc () |
forces the flag to be set to true that the object instance was created by the Component::create function More... | |
std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class ProxyType > | |
ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Get a proxy whose name is specified by the given property. More... | |
template<class ProxyType > | |
void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
template<class TopicProxyType > | |
TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
Get a topic proxy whose name is specified by the given property. More... | |
template<class TopicProxyType > | |
void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
initializes the properties of this component. More... | |
void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
void | offeringTopicFromProperty (const std::string &propertyName) |
Offer a topic whose name is specified by the given property. More... | |
virtual void | preOnConnectComponent () override |
virtual void | preOnInitComponent () override |
bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
Use a proxy whose name is specified by the given property. More... | |
void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
Use a topic whose name is specified by the given property. More... | |
Public Member Functions inherited from ManagedIceObject | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
virtual std::string | getDefaultName () const =0 |
Retrieve default name of component. More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyType > | |
ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Retrieves a proxy object. More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args) |
Assigns a proxy to proxy . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
template<class Prx > | |
Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
template<class ProxyType > | |
void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Overload to allow using string literals as name (solve ambiguous overload). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
void | preambleGetTopic (std::string const &name) |
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. More... | |
void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
bool | stopPeriodicTask (const std::string &name) |
bool | unsubscribeFromTopic (const std::string &name) |
Unsubscribe from a topic. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
disables the logging for the current line for the given amount of seconds. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Public Member Functions inherited from PropertyUser | |
std::vector< std::string > | getComponentProxyNames () |
Ice::PropertiesPtr | getIceProperties () const |
Returns the set of Ice properties. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
Property creation and retrieval. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const -modified methods. More... | |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class T > | |
std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
template<class ContainerT > | |
void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
PropertyDefinitionsPtr | getPropertyDefinitions () |
Returns the component's property definition container. More... | |
std::vector< std::string > | getSubscribedTopicNames () |
std::vector< std::string > | getTopicProxyNames () |
bool | hasProperty (const std::string &name) |
PropertyUser () | |
virtual void | setIceProperties (Ice::PropertiesPtr properties) |
Sets the Ice properties. More... | |
bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
void | updateProperties () |
void | updateProxies (IceManagerPtr) |
~PropertyUser () override | |
Protected Types | |
using | PointCloudProviderMap = std::map< std::string, armarx::IceSharedMemoryConsumer< unsigned char, MetaPointCloudFormat >::pointer_type > |
Protected Member Functions | |
virtual void | onConnectComponent () override |
virtual void | onConnectPointCloudProcessor ()=0 |
Implement this method in the PointCloudProcessor in order execute parts when the component is fully initialized and about to run. More... | |
virtual void | onDisconnectComponent () override |
virtual void | onDisconnectPointCloudProcessor () |
Implement this method in the PointCloudProcessor in order execute parts when the component looses network connectivity. More... | |
virtual void | onExitComponent () override |
virtual void | onExitPointCloudProcessor ()=0 |
Exit the ImapeProcessor component. More... | |
virtual void | onInitComponent () override |
virtual void | onInitPointCloudProcessor ()=0 |
Setup the vision component. More... | |
virtual void | process ()=0 |
Process the vision component. More... | |
void | reportPointCloudAvailable (const std::string &providerName, const Ice::Current &c=Ice::emptyCurrent) override |
Listener callback function. More... | |
virtual void | runProcessor () |
Protected Member Functions inherited from Component | |
void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
Add additional property users here that should show up in the application help text. More... | |
Component () | |
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More... | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::string | getConfigDomain () |
Retrieve config domain for this component as set in constructor. More... | |
std::string | getConfigIdentifier () |
Retrieve config identifier for this component as set in constructor. More... | |
std::string | getConfigName () |
Retrieve config name for this component as set in constructor. More... | |
virtual void | icePropertiesInitialized () |
Protected Member Functions inherited from ManagedIceObject | |
template<class PluginT , class... ParamsT> | |
PluginT * | addPlugin (const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params) |
Ice::CommunicatorPtr | getCommunicator () const |
std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
ManagedIceObject () | |
Protected default constructor. More... | |
virtual void | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Protected Attributes | |
bool | automaticConversion |
FPSCounter | fpsCounter |
float | frameRate |
std::map< std::string, PointCloudProviderInfo > | pointCloudProviderInfoMap |
std::shared_mutex | pointCloudProviderInfoMutex |
armarx::RunningTask< PointCloudProcessor >::pointer_type | processorTask |
std::map< std::string, IceInternal::Handle< ResultPointCloudProvider > > | resultPointCloudProviders |
std::shared_mutex | resultProviderMutex |
std::map< std::string, PointCloudTransferStats > | statistics |
std::mutex | statisticsMutex |
PointCloudProviderMap | usedPointCloudProviders |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Member Functions inherited from Component | |
template<class T , class TPtr = IceInternal::Handle<T>> | |
static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
Factory method for a component. More... | |
Static Public Member Functions inherited from ManagedIceObject | |
static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
Generates a unique name for a sub object from a general name and unique name. More... | |
static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and shared memory.
The interface defines a set of convenience methods which simplify the PointCloud access.
Definition at line 186 of file PointCloudProcessor.h.
|
protected |
Definition at line 607 of file PointCloudProcessor.h.
|
inline |
void enableResultPointClouds | ( | std::string | resultProviderName, |
size_t | shmCapacity, | ||
PointContentType | pointContentType | ||
) |
|
inline |
Enables visualization.
numberPointClouds | number of PointClouds provided by the visualization |
PointCloud::Grid2DDimensions | size of PointClouds |
PointCloudFormatInfo | type of PointClouds |
Definition at line 240 of file PointCloudProcessor.h.
MetaPointCloudFormatPtr getPointCloudFormat | ( | std::string | providerName | ) |
Definition at line 506 of file PointCloudProcessor.cpp.
std::string getPointCloudFrame | ( | const std::string & | providerName, |
const std::string & | defaultFrame = "" |
||
) |
Get the reference frame of the point cloud by given provider.
providerName | The point cloud provider's name. |
Definition at line 559 of file PointCloudProcessor.cpp.
PointCloudProviderInfo getPointCloudProvider | ( | bool | waitForProxy = false | ) |
PointCloudProviderInfo getPointCloudProvider | ( | std::string | name, |
bool | waitForProxy = false |
||
) |
Select an PointCloudProvider.
This method subscribes to an an PointCloudProvider and makes the provider available in the waitForPointClouds() and getPointClouds() methods.
name | Ice adapter name of the PointCloudProvider |
waitForProxy | If true, this function blocks until the proxy for the pointCloudProvider becomes available. |
Definition at line 304 of file PointCloudProcessor.cpp.
std::vector< std::string > getPointCloudProviderNames | ( | ) | const |
Get the names of providers for which usingPointCloudProvider()
has been called.
Definition at line 381 of file PointCloudProcessor.cpp.
|
inline |
Poll PointClouds from provider.
Polls PointClouds from a used PointCloudProvider either via shared memory or via Ice. If both components run on the same machine, shared memory transfer is used. Otherwise Ice is used for PointCloud transmission. The transfer type is decided in the usingPointCloudProvider method and is set in the corresponding PointCloudFormatInfo.
Use this method if only one PointCloudProvider is used.
ppPointClouds | PointCloud buffers where the PointClouds are copied to. The buffers have to be initialized by the component. All required information for the allocation of the buffers can be found in the corresponding PointCloudFormatInfo. |
Definition at line 373 of file PointCloudProcessor.h.
|
inline |
Poll PointClouds from provider.
Polls PointClouds from a used PointCloudProvider either via shared memory or via Ice. If both components run on the same machine, shared memory transfer is used. Otherwise Ice is used for PointCloud transmission. The transfer type is decided in the usingPointCloudProvider method and is set in the corresponding PointCloudFormatInfo.
Use this method if multiple PointCloudProviders are used.
providerName | Name of provider to poll from |
ppPointClouds | PointCloud buffers where the PointClouds are copied to. The buffers have to be initialized by the component. All required information for the allocation PointCloudProcessor.h of the buffers can be found in the corresponding PointCloudFormatInfo. |
Definition at line 414 of file PointCloudProcessor.h.
PointCloudTransferStats getPointCloudTransferStats | ( | std::string | providerName, |
bool | resetStats = false |
||
) |
Retrieve statistics for a connection to an PointCloudProvider.
providerName | Name of the provider |
resetStats | Reset statistics |
Definition at line 530 of file PointCloudProcessor.cpp.
bool isPointCloudProviderKnown | ( | const std::string & | providerName | ) | const |
Indicate whether the given name identifies a known point cloud provider.
Definition at line 392 of file PointCloudProcessor.cpp.
|
overrideprotectedvirtual |
Implements ManagedIceObject.
Reimplemented in PointCloudAndImageProcessor.
Definition at line 201 of file PointCloudProcessor.cpp.
|
protectedpure virtual |
Implement this method in the PointCloudProcessor in order execute parts when the component is fully initialized and about to run.
Implemented in PointCloudAndImageProcessor, PrimitiveExtractor, DenseCRFSegmentationProcessor, PointCloudSegmenter, PointCloudObjectLocalizer, MaskRCNNPointCloudObjectLocalizer, TabletopSegmentation, PointCloudVisualization, WidgetController, VoxelGridMappingProvider, HandEyeCalibrationWidgetController, PointCloudRecorder, PointCloudFilter, PointCloudToArViz, MultiViewPointCloudProcessor, SegmentRansacShapeExtractor, PrimitiveExtractionParameterTuning, LabeledPointCloudMerger, EfficientRANSACPrimitiveExtractor, UserAssistedSegmenter, FilterKnownObjects, SegmentAABBShapesProvider, SegmentSpatialRelations, and PointCloudToArMem.
|
overrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Reimplemented in PointCloudAndImageProcessor.
Definition at line 217 of file PointCloudProcessor.cpp.
|
inlineprotectedvirtual |
Implement this method in the PointCloudProcessor in order execute parts when the component looses network connectivity.
Reimplemented in PrimitiveExtractor, PointCloudAndImageProcessor, DenseCRFSegmentationProcessor, PointCloudSegmenter, PointCloudObjectLocalizer, MaskRCNNPointCloudObjectLocalizer, TabletopSegmentation, PointCloudVisualization, WidgetController, HandEyeCalibrationWidgetController, PointCloudRecorder, PointCloudFilter, PointCloudToArViz, PrimitiveExtractionParameterTuning, SegmentRansacShapeExtractor, MultiViewPointCloudProcessor, LabeledPointCloudMerger, UserAssistedSegmenter, EfficientRANSACPrimitiveExtractor, FilterKnownObjects, SegmentAABBShapesProvider, SegmentSpatialRelations, and PointCloudToArMem.
Definition at line 553 of file PointCloudProcessor.h.
|
overrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Reimplemented in PointCloudAndImageProcessor.
Definition at line 223 of file PointCloudProcessor.cpp.
|
protectedpure virtual |
Exit the ImapeProcessor component.
Implement this method in order to clean up the PointCloudProcessor
Implemented in PrimitiveExtractor, PointCloudAndImageProcessor, DenseCRFSegmentationProcessor, PointCloudSegmenter, PointCloudObjectLocalizer, MaskRCNNPointCloudObjectLocalizer, TabletopSegmentation, PointCloudVisualization, WidgetController, VoxelGridMappingProvider, PointCloudRecorder, HandEyeCalibrationWidgetController, PointCloudFilter, PointCloudToArViz, PrimitiveExtractionParameterTuning, SegmentRansacShapeExtractor, MultiViewPointCloudProcessor, LabeledPointCloudMerger, UserAssistedSegmenter, FilterKnownObjects, EfficientRANSACPrimitiveExtractor, SegmentAABBShapesProvider, SegmentSpatialRelations, and PointCloudToArMem.
|
overrideprotectedvirtual |
Implements ManagedIceObject.
Reimplemented in PointCloudAndImageProcessor.
Definition at line 123 of file PointCloudProcessor.cpp.
|
protectedpure virtual |
Setup the vision component.
Implement this method in the PointCloudProcessor in order to setup its parameters. Use this for the registration of adaptars and subscription to topics
argc | number of filtered command line arguments |
argv | filtered command line arguments |
Implemented in PointCloudAndImageProcessor, PrimitiveExtractor, DenseCRFSegmentationProcessor, PointCloudSegmenter, PointCloudObjectLocalizer, MaskRCNNPointCloudObjectLocalizer, TabletopSegmentation, PointCloudVisualization, VoxelGridMappingProvider, WidgetController, HandEyeCalibrationWidgetController, PointCloudFilter, PointCloudRecorder, PointCloudToArViz, MultiViewPointCloudProcessor, SegmentRansacShapeExtractor, PrimitiveExtractionParameterTuning, EfficientRANSACPrimitiveExtractor, LabeledPointCloudMerger, UserAssistedSegmenter, FilterKnownObjects, SegmentAABBShapesProvider, SegmentSpatialRelations, and PointCloudToArMem.
bool pointCloudHasNewData | ( | std::string | providerName | ) |
Returns current status for the given point cloud.
True if new data is available, false otherwise.
This operation does not block. It just returns the current status. Use this if you want to get status of a point cloud without polling it for a given time like the other methods do.
providerName | Name of provider to wait for PointClouds |
Definition at line 486 of file PointCloudProcessor.cpp.
|
protectedpure virtual |
Process the vision component.
The main loop of the PointCloudProcessor to be implemented in the subclass. Do not block this method. One process should execute exactly one PointCloud processing step.
Implemented in PrimitiveExtractor, DenseCRFSegmentationProcessor, ObjectLearningByPushing, PointCloudSegmenter, PointCloudObjectLocalizer, MaskRCNNPointCloudObjectLocalizer, TabletopSegmentation, PointCloudAndImageProcessor, PointCloudVisualization, RGBDHandLocalizer, WidgetController, PointCloudRecorder, VoxelGridMappingProvider, HandEyeCalibrationWidgetController, PointCloudFilter, ValveAttention, PointCloudToArViz, PrimitiveExtractionParameterTuning, SegmentRansacShapeExtractor, MaskFilterPointCloudProcessor, LabeledPointCloudMerger, UserAssistedSegmenter, FilterKnownObjects, SegmentAABBShapesProvider, SegmentSpatialRelations, Component, MultiViewPointCloudProcessor, EfficientRANSACPrimitiveExtractor, PointCloudToArMem, MaskFilterPointCloudProcessor, MultiViewPointCloudProcessor, and EfficientRANSACPrimitiveExtractor.
|
inline |
sends result PointClouds for visualization
PointClouds | array of PointClouds to send |
Definition at line 286 of file PointCloudProcessor.h.
|
inline |
void releasePointCloudProvider | ( | std::string | providerName | ) |
Removes topic subscription and provider proxy dependency to release a point cloud provider.
After this, provider is not available in waitForPointClouds() or getPointClouds() calls.
Definition at line 275 of file PointCloudProcessor.cpp.
|
overrideprotected |
Listener callback function.
This is called by the used PointCloud providers to report the availability of a newly captured PointCloud.
providerName | The reporting PointCloud provider name |
Definition at line 575 of file PointCloudProcessor.cpp.
|
protectedvirtual |
Definition at line 236 of file PointCloudProcessor.cpp.
void usingPointCloudProvider | ( | std::string | providerName | ) |
Registers a delayed topic subscription and a delayed provider proxy retrieval which will be available on the start of the component.
name | Provider name |
Definition at line 261 of file PointCloudProcessor.cpp.
|
inline |
bool waitForPointClouds | ( | const std::string & | providerName, |
int | milliseconds = 1000 |
||
) |
Wait for new PointClouds.
Wait for new PointCloud of an PointCloud provider. Use if multiple PointCloudProviders are used (see usingPointCloudProvider).
providerName | Name of provider to wait for PointClouds |
milliseconds | Timeout for waiting |
Definition at line 451 of file PointCloudProcessor.cpp.
bool waitForPointClouds | ( | int | milliseconds = 1000 | ) |
Wait for new PointClouds.
Wait for new PointCloud of an PointCloud provider. Use if only one PointCloudProvider is used (see usingPointCloudProvider).
milliseconds | Timeout for waiting |
Definition at line 433 of file PointCloudProcessor.cpp.
|
protected |
Definition at line 626 of file PointCloudProcessor.h.
|
protected |
Definition at line 623 of file PointCloudProcessor.h.
|
protected |
Definition at line 624 of file PointCloudProcessor.h.
|
protected |
Definition at line 610 of file PointCloudProcessor.h.
|
protected |
Definition at line 611 of file PointCloudProcessor.h.
|
protected |
Definition at line 621 of file PointCloudProcessor.h.
|
protected |
Definition at line 614 of file PointCloudProcessor.h.
|
protected |
Definition at line 615 of file PointCloudProcessor.h.
|
protected |
Definition at line 619 of file PointCloudProcessor.h.
|
protected |
Definition at line 618 of file PointCloudProcessor.h.
|
protected |
Definition at line 608 of file PointCloudProcessor.h.