pcl::FilterIndices< pcl::PCLPointCloud2 > Class Template Referenceabstract
Module filters

FilterIndices represents the base class for filters that are about binary point removal. More...

`#include <pcl/filters/filter_indices.h>`

Inheritance diagram for pcl::FilterIndices< pcl::PCLPointCloud2 >:

## Public Types

typedef pcl::PCLPointCloud2 | PCLPointCloud2
Public Types inherited from pcl::Filter< pcl::PCLPointCloud2 >
typedef boost::shared_ptr< Filter< pcl::PCLPointCloud2 > > | Ptr
typedef boost::shared_ptr< const Filter< pcl::PCLPointCloud2 > > | ConstPtr
typedef pcl::PCLPointCloud2 | PCLPointCloud2
typedef PCLPointCloud2::Ptr | PCLPointCloud2Ptr
typedef PCLPointCloud2::ConstPtr | PCLPointCloud2ConstPtr
Public Types inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
typedef pcl::PCLPointCloud2 | PCLPointCloud2
typedef boost::shared_ptr< PCLPointCloud2 > | PCLPointCloud2Ptr
typedef boost::shared_ptr< PCLPointCloud2 const > | PCLPointCloud2ConstPtr
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr

## Public Member Functions

| FilterIndices (bool extract_removed_indices=false)
| Constructor. More...
virtual | ~FilterIndices ()
| Empty virtual destructor. More...
virtual void | filter (PCLPointCloud2 &output)
void | filter (std::vector< int > &indices)
| Calls the filtering method and returns the filtered point cloud indices. More...
void | setNegative (bool negative)
| Set whether the regular conditions for points filtering should apply, or the inverted conditions. More...
bool | getNegative ()
| Get whether the regular conditions for points filtering should apply, or the inverted conditions. More...
void | setKeepOrganized (bool keep_organized)
| Set whether the filtered points should be kept and set to the value given through setUserFilterValue (default: NaN), or removed from the PointCloud, thus potentially breaking its organized structure. More...
bool | getKeepOrganized ()
| Get whether the filtered points should be kept and set to the value given through setUserFilterValue (default = NaN), or removed from the PointCloud, thus potentially breaking its organized structure. More...
void | setUserFilterValue (float value)
| Provide a value that the filtered points should be set to instead of removing them. More...
Public Member Functions inherited from pcl::Filter< pcl::PCLPointCloud2 >
| Filter (bool extract_removed_indices=false)
| Empty constructor. More...
virtual | ~Filter ()
| Empty destructor. More...
IndicesConstPtr const | getRemovedIndices ()
| Get the point indices being removed. More...
void | getRemovedIndices (PointIndices &pi)
| Get the point indices being removed. More...
void | filter (PCLPointCloud2 &output)
| Calls the filtering method and returns the filtered dataset in output. More...
Public Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
| PCLBase ()
| Empty constructor. More...
virtual | ~PCLBase ()
| destructor. More...
void | setInputCloud (const PCLPointCloud2ConstPtr &cloud)
| Provide a pointer to the input dataset. More...
PCLPointCloud2ConstPtr const | getInputCloud ()
| Get a pointer to the input point cloud dataset. More...
void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data. More...
IndicesPtr const | getIndices ()
| Get a pointer to the vector of indices used. More...

## Protected Member Functions

virtual void | applyFilter (std::vector< int > &indices)=0
| Abstract filter method for point cloud indices. More...
virtual void | applyFilter (PCLPointCloud2 &output)=0
| Abstract filter method for point cloud. More...
Protected Member Functions inherited from pcl::Filter< pcl::PCLPointCloud2 >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
Protected Member Functions inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
bool | initCompute ()
bool | deinitCompute ()

## Protected Attributes

bool | negative_
| False = normal filter behavior (default), true = inverted behavior. More...
bool | keep_organized_
| False = remove points (default), true = redefine points, keep structure. More...
float | user_filter_value_
| The user given value that the filtered point dimensions should be set to (default = NaN). More...
Protected Attributes inherited from pcl::Filter< pcl::PCLPointCloud2 >
IndicesPtr | removed_indices_
| Indices of the points that are removed. More...
bool | extract_removed_indices_
| Set to true if we want to return the indices of the removed points. More...
std::string | filter_name_
| The filter name. More...
Protected Attributes inherited from pcl::PCLBase< pcl::PCLPointCloud2 >
PCLPointCloud2ConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...
std::vector< int > | field_sizes_
| The size of each individual field. More...
int | x_idx_
| The x-y-z fields indices. More...
int | y_idx_
int | z_idx_
std::string | x_field_name_
| The desired x-y-z field names. More...
std::string | y_field_name_
std::string | z_field_name_

## Detailed Description

### template<>
class pcl::FilterIndices< pcl::PCLPointCloud2 >

FilterIndices represents the base class for filters that are about binary point removal.

All derived classes have to implement the filter (PointCloud &output) and the filter (std::vector<int> &indices) methods. Ideally they also make use of the negative_, keep_organized_ and extract_removed_indices_ systems. The distinguishment between the negative_ and extract_removed_indices_ systems only makes sense if the class automatically filters non-finite entries in the filtering methods (recommended).

Author
  Justin Rosen

Definition at line 205 of file filter_indices.h.

## Member Typedef Documentation

## PCLPointCloud2

typedef pcl::PCLPointCloud2 pcl::FilterIndices< pcl::PCLPointCloud2 >::PCLPointCloud2

Definition at line 208 of file filter_indices.h.

## Constructor & Destructor Documentation

## FilterIndices()

pcl::FilterIndices< pcl::PCLPointCloud2 >::FilterIndices | ( | bool | extract_removed_indices = `false` | ) |

inline

Constructor.

Parameters

  [in] | extract_removed_indices | Set to true if you want to extract the indices of points being removed (default = false).

Definition at line 213 of file filter_indices.h.

References pcl::Filter< PointT >::extract_removed_indices_.

## ~FilterIndices()

virtual pcl::FilterIndices< pcl::PCLPointCloud2 >::~FilterIndices | ( |  | ) |

inline virtual

Empty virtual destructor.

Definition at line 223 of file filter_indices.h.

## Member Function Documentation

## applyFilter() [1/2]

virtual void pcl::FilterIndices< pcl::PCLPointCloud2 >::applyFilter | ( | std::vector< int > & | indices | ) |

protected pure virtual

Abstract filter method for point cloud indices.

Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::ExtractIndices< pcl::PCLPointCloud2 >.

## applyFilter() [2/2]

virtual void pcl::FilterIndices< pcl::PCLPointCloud2 >::applyFilter | ( | PCLPointCloud2 & | output | ) |

protected pure virtual

Abstract filter method for point cloud.

Implements pcl::Filter< pcl::PCLPointCloud2 >.

Implemented in pcl::CropBox< pcl::PCLPointCloud2 >, pcl::RandomSample< pcl::PCLPointCloud2 >, and pcl::ExtractIndices< pcl::PCLPointCloud2 >.

## filter() [1/2]

virtual void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | PCLPointCloud2 & | output | ) |

inline virtual

Definition at line 228 of file filter_indices.h.

References pcl::FilterIndices< PointT >::filter(), and pcl::Filter< PointT >::filter().

Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::outofcore::OutofcoreOctreeBase< ContainerT, pcl::PointXYZRGB >::buildLODRecursive(), and pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample().

## filter() [2/2]

void pcl::FilterIndices< pcl::PCLPointCloud2 >::filter | ( | std::vector< int > & | indices | ) |

Calls the filtering method and returns the filtered point cloud indices.

Parameters

  [out] | indices | the resultant filtered point cloud indices

## getKeepOrganized()

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::getKeepOrganized | ( |  | ) |

inline

Get whether the filtered points should be kept and set to the value given through setUserFilterValue (default = NaN), or removed from the PointCloud, thus potentially breaking its organized structure.

Returns
  The value of the internal keep_organized_ parameter; false = remove points (default), true = redefine points, keep structure.

Definition at line 272 of file filter_indices.h.

References pcl::FilterIndices< PointT >::keep_organized_.

## getNegative()

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::getNegative | ( |  | ) |

inline

Get whether the regular conditions for points filtering should apply, or the inverted conditions.

Returns
  The value of the internal negative_ parameter; false = normal filter behavior (default), true = inverted behavior.

Definition at line 252 of file filter_indices.h.

References pcl::FilterIndices< PointT >::negative_.

## setKeepOrganized()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setKeepOrganized | ( | bool | keep_organized | ) |

inline

Set whether the filtered points should be kept and set to the value given through setUserFilterValue (default: NaN), or removed from the PointCloud, thus potentially breaking its organized structure.

Parameters

  [in] | keep_organized | false = remove points (default), true = redefine points, keep structure.

Definition at line 262 of file filter_indices.h.

References pcl::FilterIndices< PointT >::keep_organized_.

## setNegative()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setNegative | ( | bool | negative | ) |

inline

Set whether the regular conditions for points filtering should apply, or the inverted conditions.

Parameters

  [in] | negative | false = normal filter behavior (default), true = inverted behavior.

Definition at line 243 of file filter_indices.h.

References pcl::FilterIndices< PointT >::negative_.

Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD().

## setUserFilterValue()

void pcl::FilterIndices< pcl::PCLPointCloud2 >::setUserFilterValue | ( | float | value | ) |

inline

Provide a value that the filtered points should be set to instead of removing them.

Used in conjunction with setKeepOrganized ().

Parameters

  [in] | value | the user given value that the filtered point dimensions should be set to (default = NaN).

Definition at line 282 of file filter_indices.h.

References pcl::FilterIndices< PointT >::user_filter_value_.

## Member Data Documentation

## keep_organized_

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::keep_organized_

protected

False = remove points (default), true = redefine points, keep structure.

Definition at line 293 of file filter_indices.h.

## negative_

bool pcl::FilterIndices< pcl::PCLPointCloud2 >::negative_

protected

False = normal filter behavior (default), true = inverted behavior.

Definition at line 290 of file filter_indices.h.

## user_filter_value_

float pcl::FilterIndices< pcl::PCLPointCloud2 >::user_filter_value_

protected

The user given value that the filtered point dimensions should be set to (default = NaN).

Definition at line 296 of file filter_indices.h.

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

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/filters/include/pcl/filters/filter_indices.h