40 #ifndef PCL_FILTERS_FILTER_INDICES_H_
41 #define PCL_FILTERS_FILTER_INDICES_H_
43 #include <pcl/filters/filter.h>
61 template<
typename Po
intT>
void
74 template<
typename Po
intT>
81 typedef boost::shared_ptr< FilterIndices<PointT> >
Ptr;
82 typedef boost::shared_ptr< const FilterIndices<PointT> >
ConstPtr;
210 keep_organized_ (false),
211 user_filter_value_ (std::numeric_limits<float>::quiet_NaN ())
213 extract_removed_indices_ = extract_removed_indices;
232 filter (std::vector<int> &indices);
240 negative_ = negative;
259 keep_organized_ = keep_organized;
269 return (keep_organized_);
279 user_filter_value_ = value;
294 applyFilter (std::vector<int> &indices) = 0;
298 #ifdef PCL_NO_PRECOMPILE
299 #include <pcl/filters/impl/filter_indices.hpp>
302 #endif //#ifndef PCL_FILTERS_FILTER_INDICES_H_
bool getNegative()
Get whether the regular conditions for points filtering should apply, or the inverted conditions...
void setNegative(bool negative)
Set whether the regular conditions for points filtering should apply, or the inverted conditions...
void filter(PointCloud &output)
pcl::PointCloud< PointT > PointCloud
bool keep_organized_
False = remove points (default), true = redefine points, keep structure.
bool getKeepOrganized()
Get whether the filtered points should be kept and set to the value given through setUserFilterValue ...
float user_filter_value_
The user given value that the filtered point dimensions should be set to (default = NaN)...
FilterIndices represents the base class for filters that are about binary point removal.
void setKeepOrganized(bool keep_organized)
Set whether the filtered points should be kept and set to the value given through setUserFilterValue ...
bool getKeepOrganized()
Get whether the filtered points should be kept and set to the value given through setUserFilterValue ...
bool initCompute()
This method should get called before starting the actual computation.
bool negative_
False = normal filter behavior (default), true = inverted behavior.
bool extract_removed_indices_
Set to true if we want to return the indices of the removed points.
void setNegative(bool negative)
Set whether the regular conditions for points filtering should apply, or the inverted conditions...
bool deinitCompute()
This method should get called after finishing the actual computation.
void filter(PointCloud &output)
Calls the filtering method and returns the filtered dataset in output.
float user_filter_value_
The user given value that the filtered point dimensions should be set to (default = NaN)...
void filter(std::vector< int > &indices)
Calls the filtering method and returns the filtered point cloud indices.
virtual void filter(PCLPointCloud2 &output)
bool keep_organized_
False = remove points (default), true = redefine points, keep structure.
void removeNaNFromPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, std::vector< int > &index)
Removes points with x, y, or z equal to NaN.
boost::shared_ptr< FilterIndices< PointT > > Ptr
virtual ~FilterIndices()
Empty virtual destructor.
FilterIndices(bool extract_removed_indices=false)
Constructor.
void setKeepOrganized(bool keep_organized)
Set whether the filtered points should be kept and set to the value given through setUserFilterValue ...
virtual void applyFilter(std::vector< int > &indices)=0
Abstract filter method for point cloud indices.
void setUserFilterValue(float value)
Provide a value that the filtered points should be set to instead of removing them.
bool negative_
False = normal filter behavior (default), true = inverted behavior.
boost::shared_ptr< const FilterIndices< PointT > > ConstPtr
Filter represents the base filter class.
FilterIndices(bool extract_removed_indices=false)
Constructor.
virtual ~FilterIndices()
Empty virtual destructor.
pcl::PCLPointCloud2 PCLPointCloud2
bool getNegative()
Get whether the regular conditions for points filtering should apply, or the inverted conditions...
void setUserFilterValue(float value)
Provide a value that the filtered points should be set to instead of removing them.