Image Component Library (ICL)
Public Member Functions | Public Attributes | List of all members
icl::geom::Primitive3DFilter::FilterAction Struct Referenceabstract

a general filter action More...

#include <Primitive3DFilter.h>

Inheritance diagram for icl::geom::Primitive3DFilter::FilterAction:
icl::geom::Primitive3DFilter::ColorAction icl::geom::Primitive3DFilter::FilterDepthImgAction icl::geom::Primitive3DFilter::IntensityAction icl::geom::Primitive3DFilter::LabelAction icl::geom::Primitive3DFilter::RemoveAction icl::geom::Primitive3DFilter::SetposAction

Public Member Functions

 FilterAction ()
 Default constructor. More...
 
 FilterAction (std::vector< unsigned char > formula)
 Constructor. More...
 
virtual ~FilterAction ()
 
virtual void performAction (PointCloudObjectBase &pcObj, std::vector< unsigned char > &actionMap, std::vector< unsigned char > &groupMap, core::Img32f *depthImage)=0
 perform the actual filter action More...
 

Public Attributes

std::vector< unsigned char > formula
 

Detailed Description

a general filter action

Constructor & Destructor Documentation

◆ FilterAction() [1/2]

icl::geom::Primitive3DFilter::FilterAction::FilterAction ( )
inline

Default constructor.

◆ FilterAction() [2/2]

icl::geom::Primitive3DFilter::FilterAction::FilterAction ( std::vector< unsigned char >  formula)
inline

Constructor.

◆ ~FilterAction()

virtual icl::geom::Primitive3DFilter::FilterAction::~FilterAction ( )
inlinevirtual

Member Function Documentation

◆ performAction()

virtual void icl::geom::Primitive3DFilter::FilterAction::performAction ( PointCloudObjectBase pcObj,
std::vector< unsigned char > &  actionMap,
std::vector< unsigned char > &  groupMap,
core::Img32f depthImage 
)
pure virtual

perform the actual filter action

Parameters
pcObjthe point cloud to be filtered
actionMapthe action map specifying which points to filter out (may change in case points are actually removed)
groupMapmay change in case points are actually removed
depthImagepointer to the depth image or 0 if no depth image

Implemented in icl::geom::Primitive3DFilter::FilterDepthImgAction, icl::geom::Primitive3DFilter::IntensityAction, icl::geom::Primitive3DFilter::LabelAction, icl::geom::Primitive3DFilter::ColorAction, icl::geom::Primitive3DFilter::SetposAction, and icl::geom::Primitive3DFilter::RemoveAction.

Member Data Documentation

◆ formula

std::vector<unsigned char> icl::geom::Primitive3DFilter::FilterAction::formula

the filter action formula in disjunctive normal form (three bytes per atomic primitive group) first byte: 1 if this is the beginning of a new intersection, 0 otherwise second byte: 1 if the inner part of the primitive group should be filtered out, 0 for the inner part (negation) third byte: the group bit (internal group id which is set according to the id in filter config)


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