Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
pcl::ExtractIndices< sensor_msgs::PointCloud2 > Class Template Reference

ExtractIndices extracts a set of indices from a point cloud. More...

#include <pcl/filters/extract_indices.h>

Inheritance diagram for pcl::ExtractIndices< sensor_msgs::PointCloud2 >:
Inheritance graph
[legend]
Collaboration diagram for pcl::ExtractIndices< sensor_msgs::PointCloud2 >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef sensor_msgs::PointCloud2 PointCloud2
typedef PointCloud2::Ptr PointCloud2Ptr
typedef PointCloud2::ConstPtr PointCloud2ConstPtr
typedef PointIndices::Ptr PointIndicesPtr
typedef PointIndices::ConstPtr PointIndicesConstPtr

Public Member Functions

 ExtractIndices ()
 Empty constructor.
virtual void filter (PointCloud2 &output)
 Calls the filtering method and returns the filtered dataset in output.
void filter (std::vector< int > &indices)
 Calls the filtering method and returns the filtered point cloud indices.
void setNegative (bool negative)
 Set whether the regular conditions for points filtering should apply, or the inverted conditions.
bool getNegative ()
 Get whether the regular conditions for points filtering should apply, or the inverted conditions.
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.
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.
void setUserFilterValue (float value)
 Provide a value that the filtered points should be set to instead of removing them.
IndicesConstPtr const getRemovedIndices ()
 Get the point indices being removed.
void setInputCloud (const PointCloud2ConstPtr &cloud)
 Provide a pointer to the input dataset.
PointCloud2ConstPtr const getInputCloud ()
 Get a pointer to the input point cloud dataset.
void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
void setIndices (const PointIndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
IndicesPtr const getIndices ()
 Get a pointer to the vector of indices used.

Detailed Description

template<>
class pcl::ExtractIndices< sensor_msgs::PointCloud2 >

ExtractIndices extracts a set of indices from a point cloud.


Usage examples:

 pcl::ExtractIndices<PointType> filter;
 filter.setInputCloud (cloud_in);
 filter.setIndices (indices_in);
 // Extract the points in cloud_in referenced by indices_in as a separate point cloud:
 filter.filter (*cloud_out);
 // Retrieve indices to all points in cloud_in except those referenced by indices_in:
 filter.setNegative (true);
 filter.filter (*indices_out);
 // The resulting cloud_out is identical to cloud_in, but all points referenced by indices_in are made NaN:
 filter.setNegative (true);
 filter.setKeepOrganized (true);
 filter.filter (*cloud_out);
Note:
Does not inherently remove NaNs from results, hence the extract_removed_indices_ system is not used.
Author:
Radu Bogdan Rusu

Definition at line 157 of file extract_indices.h.


Member Typedef Documentation

Reimplemented from pcl::FilterIndices< sensor_msgs::PointCloud2 >.

Definition at line 160 of file extract_indices.h.

Reimplemented from pcl::Filter< sensor_msgs::PointCloud2 >.

Definition at line 162 of file extract_indices.h.

Reimplemented from pcl::Filter< sensor_msgs::PointCloud2 >.

Definition at line 161 of file extract_indices.h.

Definition at line 280 of file pcl_base.h.

Definition at line 279 of file pcl_base.h.


Constructor & Destructor Documentation

Empty constructor.

Definition at line 165 of file extract_indices.h.


Member Function Documentation

virtual void pcl::FilterIndices< sensor_msgs::PointCloud2 >::filter ( PointCloud2 output) [inline, virtual, inherited]

Calls the filtering method and returns the filtered dataset in output.

Parameters:
[out]outputthe resultant filtered point cloud dataset

Reimplemented from pcl::Filter< sensor_msgs::PointCloud2 >.

Definition at line 228 of file filter_indices.h.

void pcl::FilterIndices< sensor_msgs::PointCloud2 >::filter ( std::vector< int > &  indices) [inherited]

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

Parameters:
[out]indicesthe resultant filtered point cloud indices
IndicesPtr const pcl::PCLBase< sensor_msgs::PointCloud2 >::getIndices ( ) [inline, inherited]

Get a pointer to the vector of indices used.

Definition at line 329 of file pcl_base.h.

Get a pointer to the input point cloud dataset.

Definition at line 303 of file pcl_base.h.

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.

bool pcl::FilterIndices< sensor_msgs::PointCloud2 >::getNegative ( ) [inline, inherited]

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.

Get the point indices being removed.

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

Reimplemented from pcl::Filter< sensor_msgs::PointCloud2 >.

Definition at line 291 of file filter_indices.h.

void pcl::PCLBase< sensor_msgs::PointCloud2 >::setIndices ( const IndicesPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 309 of file pcl_base.h.

void pcl::PCLBase< sensor_msgs::PointCloud2 >::setIndices ( const PointIndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 320 of file pcl_base.h.

Provide a pointer to the input dataset.

Parameters:
cloudthe const boost shared pointer to a PointCloud message
void pcl::FilterIndices< sensor_msgs::PointCloud2 >::setKeepOrganized ( bool  keep_organized) [inline, inherited]

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_organizedfalse = remove points (default), true = redefine points, keep structure.

Definition at line 262 of file filter_indices.h.

void pcl::FilterIndices< sensor_msgs::PointCloud2 >::setNegative ( bool  negative) [inline, inherited]

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

Parameters:
[in]negativefalse = normal filter behavior (default), true = inverted behavior.

Definition at line 243 of file filter_indices.h.

void pcl::FilterIndices< sensor_msgs::PointCloud2 >::setUserFilterValue ( float  value) [inline, inherited]

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

Used in conjunction with setKeepOrganized ().

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

Definition at line 282 of file filter_indices.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines