MeVisLab Toolbox Reference
ml::PCLBaseObject Class Reference

#include <mlPCLBaseObject.h>

Inheritance diagram for ml::PCLBaseObject:
ml::RefCountedBase ml::EventSource ml::Base

Public Member Functions

 PCLBaseObject ()
 Construct a base object where all pointers in the internal MLPCLObjectPtrsContainer container are set to nullptr.
 PCLBaseObject (MLPCLObjectPtrsContainer newPCLObjectPtrsContainer)
 Construct a base object where a copy of newPointCloudsStruct is stored in the internal MLPCLObjectPtrsContainer container.
MLPCLObjectPtrsContainergetPCLObjectPtrsContainer ()
 Returns the internal MLPCLObjectPtrsContainer container as modifiable object to get access to the point cloud pointers.
const MLPCLObjectPtrsContainergetConstPCLObjectPtrsContainer () const
 Returns the non modifiable currently set structure of point cloud pointers.
void setPCLObjectPtrsContainer (const MLPCLObjectPtrsContainer &newPointCloudsStruct)
 Sets the internal MLPCLObjectPtrsContainer container to newPointCloudsStruct.
bool hasValidPointCloudPointer () const
 Returns true if any point cloud pointers in the internal MLPCLObjectPtrsContainer container is non nullptr, otherwise it returns false.
MLPCLPointIndexVectorgetPointIndexVector ()
 Get the reference to the freely accessible vector of point indexes if the algorithm produces them.
const MLPCLPointIndexVectorgetPointIndexVector () const
 Get the reference to the constant vector of point indexes if the algorithm produces them.
void setPointIndices (const std::vector< int > &indices=std::vector< int >())
 Clears getPointIndexVector() and appends a copy of indices.
void setPointIndices (pcl::IndicesConstPtr indicesPtr)
 Clears getPointIndexVector(); if indicesPtr is valid then it appends a copy of *indices (for constant ptr).
void setPointIndices (pcl::IndicesPtr indicesPtr)
 Clears getPointIndexVector(); if indicesPtr is valid then it appends a copy of *indices (for non constant ptr).
void getComposedIndices (pcl::PointIndices &composedIndices) const
Public Member Functions inherited from ml::RefCountedBase
 RefCountedBase ()
 Constructor.
 RefCountedBase (const RefCountedBase &)
 Explicit copy constructor.
virtual void incRefCount () const
 Increases the reference count.
virtual void decRefCount () const
 Decreases the reference count (object will be deleted if the reference count is decremented to 0).
bool isRefCountedBase () const override
 Returns whether the instance is derived from RefCountedBase.
Public Member Functions inherited from ml::EventSource
 EventSource ()
 EventSource (const EventSource &evSource)
 ~EventSource () override
void addEventListener (BaseEventCallback *cb, void *userData)
void removeEventListener (BaseEventCallback *cb, void *userData)
bool hasEventListeners () const
Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
virtual ~Base ()
 Destructor.
virtual BasedeepCopy () const
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
virtual std::string detailString () const
virtual bool implementsPersistence (PersistenceInterface) const
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
virtual void setPersistentState (const std::string &state)
virtual void addStateToTree (TreeNode *) const
 Attaches the object state as children of the given parent node.
virtual void readStateFromTree (TreeNode *)
 Reads the object state from the children of the given parent node.
virtual void writeTo (AbstractPersistenceOutputStream *) const
virtual void readFrom (AbstractPersistenceInputStream *, int)

Static Public Member Functions

static void _checkRuntimeInterfaceResults (const RuntimeType *classTypeId, const RuntimeType *typeId, const char *typeIdName, bool alsoCallDestroyClass)
Static Public Member Functions inherited from ml::RefCountedBase
static void updateReferenceCountingIfSupported (Base *oldValue, Base *newValue, bool &isRefCountedBase)

Protected Member Functions

 ~PCLBaseObject () override
 Destructor, usually called automatically when the last RefCountedBase reference is removed.
Protected Member Functions inherited from ml::RefCountedBase
 ~RefCountedBase () override
 Destructor.
Protected Member Functions inherited from ml::EventSource
void sendEvent (BaseEvent *event, void *skipListener=nullptr)

Additional Inherited Members

Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...
Protected Attributes inherited from ml::RefCountedBase
std::atomic_int_least32_t _refCount
 Reference count.

Detailed Description

Base object containing pointers (as MLPCLObjectPtrsContainer) to objects from the Point Cloud Library (PCL) as well as a vector of PointIndices and to pass point clouds and result indexes from one module to another.

Definition at line 34 of file mlPCLBaseObject.h.

Constructor & Destructor Documentation

◆ PCLBaseObject() [1/2]

ml::PCLBaseObject::PCLBaseObject ( )

Construct a base object where all pointers in the internal MLPCLObjectPtrsContainer container are set to nullptr.

Referenced by ~PCLBaseObject().

◆ PCLBaseObject() [2/2]

ml::PCLBaseObject::PCLBaseObject ( MLPCLObjectPtrsContainer newPCLObjectPtrsContainer)

Construct a base object where a copy of newPointCloudsStruct is stored in the internal MLPCLObjectPtrsContainer container.

◆ ~PCLBaseObject()

ml::PCLBaseObject::~PCLBaseObject ( )
overrideprotected

Destructor, usually called automatically when the last RefCountedBase reference is removed.

References PCLBaseObject().

Member Function Documentation

◆ _checkRuntimeInterfaceResults()

void ml::PCLBaseObject::_checkRuntimeInterfaceResults ( const RuntimeType * classTypeId,
const RuntimeType * typeId,
const char * typeIdName,
bool alsoCallDestroyClass )
static

Helper function for tests which checks the return values getClassTypeId(), getTypeId(), and getTypeIdName() from a module instance to be tested. If alsoCallDestroyClass is true the the corresponding runtime type is also deleted from the RuntimeType system which makes the module type unusable. If alsoCallDestroyClass is false only checks are performed on the passed pointers. This function is only to be used in test internals, it is no publicly usable function!

◆ getComposedIndices()

void ml::PCLBaseObject::getComposedIndices ( pcl::PointIndices & composedIndices) const

Clear composedIndices.indices and append all PointIndices from getPointIndexVector() to it. composedIndices.header is left unchanged.

◆ getConstPCLObjectPtrsContainer()

const MLPCLObjectPtrsContainer & ml::PCLBaseObject::getConstPCLObjectPtrsContainer ( ) const

Returns the non modifiable currently set structure of point cloud pointers.

◆ getPCLObjectPtrsContainer()

MLPCLObjectPtrsContainer & ml::PCLBaseObject::getPCLObjectPtrsContainer ( )

Returns the internal MLPCLObjectPtrsContainer container as modifiable object to get access to the point cloud pointers.

Referenced by ml::PCLModule::setOutputPCLObject().

◆ getPointIndexVector() [1/2]

MLPCLPointIndexVector & ml::PCLBaseObject::getPointIndexVector ( )

Get the reference to the freely accessible vector of point indexes if the algorithm produces them.

◆ getPointIndexVector() [2/2]

const MLPCLPointIndexVector & ml::PCLBaseObject::getPointIndexVector ( ) const

Get the reference to the constant vector of point indexes if the algorithm produces them.

◆ hasValidPointCloudPointer()

bool ml::PCLBaseObject::hasValidPointCloudPointer ( ) const

Returns true if any point cloud pointers in the internal MLPCLObjectPtrsContainer container is non nullptr, otherwise it returns false.

◆ setPCLObjectPtrsContainer()

void ml::PCLBaseObject::setPCLObjectPtrsContainer ( const MLPCLObjectPtrsContainer & newPointCloudsStruct)

Sets the internal MLPCLObjectPtrsContainer container to newPointCloudsStruct.

◆ setPointIndices() [1/3]

void ml::PCLBaseObject::setPointIndices ( const std::vector< int > & indices = std::vector< int >())

Clears getPointIndexVector() and appends a copy of indices.

◆ setPointIndices() [2/3]

void ml::PCLBaseObject::setPointIndices ( pcl::IndicesConstPtr indicesPtr)

Clears getPointIndexVector(); if indicesPtr is valid then it appends a copy of *indices (for constant ptr).

◆ setPointIndices() [3/3]

void ml::PCLBaseObject::setPointIndices ( pcl::IndicesPtr indicesPtr)

Clears getPointIndexVector(); if indicesPtr is valid then it appends a copy of *indices (for non constant ptr).


The documentation for this class was generated from the following file: