42 #include <pcl/pcl_base.h>
43 #include <pcl/common/io.h>
44 #include <pcl/conversions.h>
45 #include <pcl/filters/boost.h>
47 #include <pcl/PointIndices.h>
59 template<
typename Po
intT>
void
62 std::vector<int> &index);
72 template<
typename Po
intT>
void
75 std::vector<int> &index);
82 template<
typename Po
intT>
86 using Ptr = shared_ptr<Filter<PointT> >;
87 using ConstPtr = shared_ptr<const Filter<PointT> >;
98 Filter (
bool extract_removed_indices =
false) :
129 if (
input_.get () == &output)
176 inline const std::string&
192 using Ptr = shared_ptr<Filter<pcl::PCLPointCloud2> >;
193 using ConstPtr = shared_ptr<const Filter<pcl::PCLPointCloud2> >;
203 Filter (
bool extract_removed_indices =
false) :
204 removed_indices_ (new std::vector<int>),
205 extract_removed_indices_ (extract_removed_indices)
213 return (removed_indices_);
222 pi.
indices = *removed_indices_;
252 inline const std::string&
255 return (filter_name_);
260 #ifdef PCL_NO_PRECOMPILE
261 #include <pcl/filters/impl/filter.hpp>
virtual void applyFilter(PCLPointCloud2 &output)=0
Abstract filter method.
Filter(bool extract_removed_indices=false)
Empty constructor.
shared_ptr< const Filter< pcl::PCLPointCloud2 > > ConstPtr
std::string filter_name_
The filter name.
void filter(PCLPointCloud2 &output)
Calls the filtering method and returns the filtered dataset in output.
const std::string & getClassName() const
Get a string representation of the name of this class.
IndicesPtr removed_indices_
Indices of the points that are removed.
shared_ptr< Filter< pcl::PCLPointCloud2 > > Ptr
bool extract_removed_indices_
Set to true if we want to return the indices of the removed points.
void getRemovedIndices(PointIndices &pi)
Get the point indices being removed.
IndicesConstPtr const getRemovedIndices() const
Get the point indices being removed.
Filter represents the base filter class.
void filter(PointCloud &output)
Calls the filtering method and returns the filtered dataset in output.
virtual void applyFilter(PointCloud &output)=0
Abstract filter method.
const std::string & getClassName() const
Get a string representation of the name of this class.
bool extract_removed_indices_
Set to true if we want to return the indices of the removed points.
IndicesConstPtr const getRemovedIndices() const
Get the point indices being removed.
shared_ptr< Filter< PointT > > Ptr
shared_ptr< const Filter< PointT > > ConstPtr
std::string filter_name_
The filter name.
void getRemovedIndices(PointIndices &pi)
Get the point indices being removed.
IndicesPtr removed_indices_
Indices of the points that are removed.
Filter(bool extract_removed_indices=false)
Empty constructor.
PCLPointCloud2::Ptr PCLPointCloud2Ptr
PCLPointCloud2::ConstPtr PCLPointCloud2ConstPtr
PointCloudConstPtr input_
The input point cloud dataset.
typename PointCloud::Ptr PointCloudPtr
typename PointCloud::ConstPtr PointCloudConstPtr
bool initCompute()
This method should get called before starting the actual computation.
bool deinitCompute()
This method should get called after finishing the actual computation.
PointCloud represents the base class in PCL for storing collections of 3D points.
Eigen::Quaternionf sensor_orientation_
Sensor acquisition pose (rotation).
pcl::PCLHeader header
The point cloud header.
Eigen::Vector4f sensor_origin_
Sensor acquisition pose (origin/translation).
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
void copyPointCloud(const pcl::PointCloud< PointInT > &cloud_in, pcl::PointCloud< PointOutT > &cloud_out)
Copy all the fields from a given point cloud into a new point cloud.
void removeNaNNormalsFromPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, std::vector< int > &index)
Removes points that have their normals invalid (i.e., equal to NaN)
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.
shared_ptr< const Indices > IndicesConstPtr
shared_ptr< Indices > IndicesPtr
shared_ptr< ::pcl::PCLPointCloud2 > Ptr
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr