Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl_cuda::Filter< CloudT > Class Template Referenceabstract

Removes points with x, y, or z equal to NaN. More...

#include </__w/1/s/cuda/filters/include/pcl/cuda/filters/filter.h>

+ Inheritance diagram for pcl_cuda::Filter< CloudT >:

Public Types

using PointCloud = typename PCLCUDABase< CloudT >::PointCloud
 
using PointCloudPtr = typename PointCloud::Ptr
 
using PointCloudConstPtr = typename PointCloud::ConstPtr
 

Public Member Functions

 Filter ()
 Empty constructor. More...
 
void setFilterFieldName (const std::string &field_name)
 Provide the name of the field to be used for filtering data. More...
 
std::string const getFilterFieldName ()
 Get the name of the field used for filtering. More...
 
void setFilterLimits (const double &limit_min, const double &limit_max)
 Set the field filter limits. More...
 
void getFilterLimits (double &limit_min, double &limit_max)
 Get the field filter limits (min/max) set by the user. More...
 
void setFilterLimitsNegative (const bool limit_negative)
 Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max). More...
 
void getFilterLimitsNegative (bool &limit_negative)
 Get whether the data outside the interval (min/max) is to be returned (true) or inside (false). More...
 
bool getFilterLimitsNegative ()
 
void filter (PointCloud &output)
 Calls the filtering method and returns the filtered dataset on the device. More...
 

Protected Member Functions

virtual void applyFilter (PointCloud &output)=0
 Abstract filter method. More...
 
const std::string & getClassName () const
 Get a string representation of the name of this class. More...
 

Protected Attributes

std::string filter_name_
 The filter name. More...
 
std::string filter_field_name_
 The desired user filter field name. More...
 
double filter_limit_min_
 The minimum allowed filter value a point will be considered from. More...
 
double filter_limit_max_
 The maximum allowed filter value a point will be considered from. More...
 
bool filter_limit_negative_
 Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). More...
 

Detailed Description

template<typename CloudT>
class pcl_cuda::Filter< CloudT >

Removes points with x, y, or z equal to NaN.

Parameters
cloud_inthe input point cloud
cloud_outthe input point cloud
indexthe mapping (ordered): cloud_out.points[i] = cloud_in.points[index[i]]
Note
The density of the point cloud is lost.
Can be called with cloud_in == cloud_outFilter represents the base filter class. Some generic 3D operations that are applicable to all filters are defined here as static methods.

Definition at line 58 of file filter.h.

Member Typedef Documentation

◆ PointCloud

template<typename CloudT>
using pcl_cuda::Filter< CloudT >::PointCloud = typename PCLCUDABase<CloudT>::PointCloud

Definition at line 66 of file filter.h.

◆ PointCloudConstPtr

template<typename CloudT>
using pcl_cuda::Filter< CloudT >::PointCloudConstPtr = typename PointCloud::ConstPtr

Definition at line 68 of file filter.h.

◆ PointCloudPtr

template<typename CloudT>
using pcl_cuda::Filter< CloudT >::PointCloudPtr = typename PointCloud::Ptr

Definition at line 67 of file filter.h.

Constructor & Destructor Documentation

◆ Filter()

template<typename CloudT>
pcl_cuda::Filter< CloudT >::Filter ( )
inline

Empty constructor.

Definition at line 71 of file filter.h.

Member Function Documentation

◆ applyFilter()

template<typename CloudT>
virtual void pcl_cuda::Filter< CloudT >::applyFilter ( PointCloud output)
protectedpure virtual

◆ filter()

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::filter ( PointCloud output)
inline

Calls the filtering method and returns the filtered dataset on the device.

Parameters
outputthe resultant filtered point cloud dataset on the device

Definition at line 135 of file filter.h.

◆ getClassName()

template<typename CloudT>
const std::string& pcl_cuda::Filter< CloudT >::getClassName ( ) const
inlineprotected

Get a string representation of the name of this class.

Definition at line 175 of file filter.h.

◆ getFilterFieldName()

template<typename CloudT>
std::string const pcl_cuda::Filter< CloudT >::getFilterFieldName ( )
inline

Get the name of the field used for filtering.

Definition at line 86 of file filter.h.

◆ getFilterLimits()

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::getFilterLimits ( double &  limit_min,
double &  limit_max 
)
inline

Get the field filter limits (min/max) set by the user.

The default values are -FLT_MAX, FLT_MAX.

Parameters
limit_minthe minimum limit
limit_maxthe maximum limit

Definition at line 106 of file filter.h.

◆ getFilterLimitsNegative() [1/2]

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::getFilterLimitsNegative ( bool &  limit_negative)
inline

Get whether the data outside the interval (min/max) is to be returned (true) or inside (false).

Parameters
limit_negativethe limit_negative flag

Definition at line 127 of file filter.h.

◆ getFilterLimitsNegative() [2/2]

template<typename CloudT>
bool pcl_cuda::Filter< CloudT >::getFilterLimitsNegative ( )
inline

Definition at line 129 of file filter.h.

◆ setFilterFieldName()

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::setFilterFieldName ( const std::string &  field_name)
inline

Provide the name of the field to be used for filtering data.

In conjunction with setFilterLimits, points having values outside this interval will be discarded.

Parameters
field_namethe name of the field that contains values used for filtering

Definition at line 82 of file filter.h.

◆ setFilterLimits()

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::setFilterLimits ( const double &  limit_min,
const double &  limit_max 
)
inline

Set the field filter limits.

All points having field values outside this interval will be discarded.

Parameters
limit_minthe minimum allowed field value
limit_maxthe maximum allowed field value

Definition at line 94 of file filter.h.

◆ setFilterLimitsNegative()

template<typename CloudT>
void pcl_cuda::Filter< CloudT >::setFilterLimitsNegative ( const bool  limit_negative)
inline

Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max).

Default: false.

Parameters
limit_negativereturn data inside the interval (false) or outside (true)

Definition at line 117 of file filter.h.

Member Data Documentation

◆ filter_field_name_

template<typename CloudT>
std::string pcl_cuda::Filter< CloudT >::filter_field_name_
protected

◆ filter_limit_max_

template<typename CloudT>
double pcl_cuda::Filter< CloudT >::filter_limit_max_
protected

The maximum allowed filter value a point will be considered from.

Definition at line 161 of file filter.h.

Referenced by pcl_cuda::Filter< PointCloudAOS< Device > >::getFilterLimits(), and pcl_cuda::Filter< PointCloudAOS< Device > >::setFilterLimits().

◆ filter_limit_min_

template<typename CloudT>
double pcl_cuda::Filter< CloudT >::filter_limit_min_
protected

The minimum allowed filter value a point will be considered from.

Definition at line 158 of file filter.h.

Referenced by pcl_cuda::Filter< PointCloudAOS< Device > >::getFilterLimits(), and pcl_cuda::Filter< PointCloudAOS< Device > >::setFilterLimits().

◆ filter_limit_negative_

template<typename CloudT>
bool pcl_cuda::Filter< CloudT >::filter_limit_negative_
protected

Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_).

Default: false.

Definition at line 164 of file filter.h.

Referenced by pcl_cuda::Filter< PointCloudAOS< Device > >::getFilterLimitsNegative(), and pcl_cuda::Filter< PointCloudAOS< Device > >::setFilterLimitsNegative().

◆ filter_name_

template<typename CloudT>
std::string pcl_cuda::Filter< CloudT >::filter_name_
protected

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