Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | 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]

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. More...
 
virtual void filter (PointCloud2 &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...
 
IndicesConstPtr const getRemovedIndices ()
 Get the point indices being removed. More...
 
void setInputCloud (const PointCloud2ConstPtr &cloud)
 Provide a pointer to the input dataset. More...
 
PointCloud2ConstPtr 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...
 

Detailed Description

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

ExtractIndices extracts a set of indices from a point cloud.


Usage examples:

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

Definition at line 160 of file extract_indices.h.

Definition at line 162 of file extract_indices.h.

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)
inlinevirtualinherited

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 ( )
inlineinherited

Get a pointer to the vector of indices used.

Definition at line 329 of file pcl_base.h.

PointCloud2ConstPtr const pcl::PCLBase< sensor_msgs::PointCloud2 >::getInputCloud ( )
inlineinherited

Get a pointer to the input point cloud dataset.

Definition at line 303 of file pcl_base.h.

bool pcl::FilterIndices< sensor_msgs::PointCloud2 >::getKeepOrganized ( )
inlineinherited

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 ( )
inlineinherited

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.

IndicesConstPtr const pcl::FilterIndices< sensor_msgs::PointCloud2 >::getRemovedIndices ( )
inlineinherited

Get the point indices being removed.

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

Definition at line 291 of file filter_indices.h.

void pcl::PCLBase< sensor_msgs::PointCloud2 >::setIndices ( const IndicesPtr indices)
inlineinherited

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)
inlineinherited

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.

void pcl::PCLBase< sensor_msgs::PointCloud2 >::setInputCloud ( const PointCloud2ConstPtr cloud)
inherited

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)
inlineinherited

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)
inlineinherited

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)
inlineinherited

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: