36 PCLModule(
int numImageInputs=0,
int numImageOutputs=0,
37 int numPCLInputs=0,
int numPCLOutputs=0,
38 bool createEnumAndNotify=
false);
80 template <
typename PCL_OBJECT_PTR_TYPE>
82 PCL_OBJECT_PTR_TYPE outputPCLObjectPtr)
84 PCLBaseObject *outBaseObject = getOutputPCLBaseObject(outIdx);
88 setOutputPCLBaseObject(outIdx, outBaseObjectPtr);
92 getOutputPCLBaseObjectField(outIdx).touch();
157 std::vector<BaseField*> _pclInputConnectors;
160 std::vector<BaseField*> _pclOutputConnectors;
Project global and OS specific declarations.
#define MLPCLSUPPORT_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a pointer to an ML base object.
Field to encapsulate an enumerated value.
Base class for all fields used in the ML.
Base class for an image processing module of the ML.
Field without value for notifications.
Base object containing pointers (as MLPCLObjectPtrsContainer) to objects from the Point Cloud Library...
MLPCLObjectPtrsContainer & getPCLObjectPtrsContainer()
Returns the internal MLPCLObjectPtrsContainer container as modifiable object to get access to the poi...
ML Module base class for algorithms from the Point Cloud Library (PCL).
PCLBaseObject * getOutputPCLBaseObject(size_t inIdx) const
Returns the PCL base object of the idx'th output connector if it exists, accessing non existing index...
bool _needsUpdate(Field *field) const
If _updateModeFld and _updateFld settings with field require an update then true is returned,...
MLPCLObjectPtrsContainer getInputPCLObjectPtrsContainer(size_t inIdx)
Convenience function which returns an PointCloudPointers pointer for an existing input PCLBaseObject ...
~PCLModule() override
Destructor.
const StringField & getStatusStringField() const
Returns a constant reference to the status string field, for example to compare to it in handle Notif...
size_t getNumInputPCLBaseObjectFields() const
Returns the number of PCLBaseObject input connectors.
bool hasValidInputPointCloudPointer(size_t inIdx)
Returns true if at input inIdx a valid point cloud is connected (which, however, could contain only z...
PCLModule(int numImageInputs=0, int numImageOutputs=0, int numPCLInputs=0, int numPCLOutputs=0, bool createEnumAndNotify=false)
Constructor which created numImageInputs image inputs, numImageOutputs image outputs,...
void setStatusString(const std::string &statusStr)
Sets a status string in the status field.
BaseField & getOutputPCLBaseObjectField(size_t inIdx) const
Returns the base field of the idx'th output connector if it exists, accessing non existing indexes is...
void clearOutputPCLPointers(size_t outIdx)
Resets all point cloud pointers at outIdx to nullptr; if no output base object exists then one is cre...
void handleNotification(Field *field) override
Handles field changes of the field field.
size_t getNumOutputPCLBaseObjectFields() const
Returns the number of PCLBaseObject output connectors.
void setOutputPCLObject(size_t outIdx, PCL_OBJECT_PTR_TYPE outputPCLObjectPtr)
Sets a new PCL object at output outIdx; if no base object exists one is created (which always touches...
EnumField * getUpdateModeFieldPointer() const
Returns the update mode field if it has been created in the constructor, otherwise nullptr is returne...
std::string getStatusString() const
Sets a status string in the status field.
MLPCLObjectPtrsContainer getOutputPCLObjectPtrsContainer(size_t inIdx)
Convenience function which returns an PointCloudPointers container for an existing output PCLBaseObje...
NotifyField * getUpdateFieldPointer() const
Returns the update field if it has been created in the constructor, otherwise nullptr is returned.
virtual void _updateConnectionStatus()
If there is at least one input connector for a point cloud then this updates the status field with in...
BaseField & getInputPCLBaseObjectField(size_t inIdx) const
Returns the base field of the idx'th input connector if it exists, accessing non existing indexes is ...
void setOutputPCLBaseObject(size_t outIdx, PCLBaseObjectPtr baseObjPtr)
Sets the PCL base object of the idx'th output connector if it exists, using non existing indexes is n...
std::vector< PCLBaseObjectPtr > getNonNullConnectedInputPCLBaseObjects() const
Returns a vector of all connected non nullptr PCLBaseObjects.
PCLBaseObject * getInputPCLBaseObject(size_t inIdx) const
Returns the PCL base object of the idx'th input connector if it exists, accessing non existing indexe...
bool hasValidInputPolygonMeshPointer(size_t inIdx)
Returns true if at input inIdx a valid polygon mesh is connected (which, however, could be empty!...
Field to encapsulate a string value.
#define ML_MODULE_CLASS_HEADER(className)
Similar to ML_CLASS_HEADER for the usage of derived classes from Module.
Base object containing pointers (as MLPCLObjectPtrsContainer) to objects from the Point Cloud Library...
A container with pointers from the PCL (Point Cloud Library) passed in BaseObjects between PCL module...
#define ML_PCL_TEST_INTERFACE_NO_OVERRIDE(BASE_OBJECT_NAME)
Implements a dedicated interface for PCL related modules which is required in automatic tests.
pcl::PointCloud< pcl::PointXYZ >::Ptr MLPointCloudXYZPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
A container with pointers from the PCL (Point Cloud Library) passed in BaseObjects between PCL module...
void setPCLObjectPointer(MLPointCloudXYZPtr pcPtr)
Setting a new container object clearing all other ones.