40 #include <pcl/filters/filter_indices.h>
41 #include <boost/dynamic_bitset.hpp>
50 template<
typename Po
intT,
typename NormalT>
69 using Ptr = shared_ptr<NormalSpaceSampling<PointT, NormalT> >;
70 using ConstPtr = shared_ptr<const NormalSpaceSampling<PointT, NormalT> >;
80 ,
sample_ (std::numeric_limits<unsigned int>::max ())
81 ,
seed_ (static_cast<unsigned int> (time (nullptr)))
120 setBins (
unsigned int binsx,
unsigned int binsy,
unsigned int binsz)
133 getBins (
unsigned int& binsx,
unsigned int& binsy,
unsigned int& binsz)
const
147 inline NormalsConstPtr
180 findBin (
const float *normal);
188 isEntireBinSampled (boost::dynamic_bitset<> &array,
unsigned int start_index,
unsigned int length);
195 #ifdef PCL_NO_PRECOMPILE
196 #include <pcl/filters/impl/normal_space.hpp>
NormalsConstPtr getNormals() const
Get the normals computed on the input point cloud.
void setBins(unsigned int binsx, unsigned int binsy, unsigned int binsz)
Set the number of bins in x, y and z direction.
unsigned int binsx_
Number of bins in x direction.
shared_ptr< PointCloud< PointT > > Ptr
unsigned int binsy_
Number of bins in y direction.
void getBins(unsigned int &binsx, unsigned int &binsy, unsigned int &binsz) const
Get the number of bins in x, y and z direction.
unsigned int binsz_
Number of bins in z direction.
unsigned int seed_
Random number seed.
NormalSpaceSampling samples the input point cloud in the space of normal directions computed at every...
FilterIndices represents the base class for filters that are about binary point removal.
unsigned int sample_
Number of indices that will be returned.
unsigned int getSample() const
Get the value of the internal sample parameter.
shared_ptr< Filter< PointT > > Ptr
NormalSpaceSampling(bool extract_removed_indices)
Constructor.
typename PointCloud::Ptr PointCloudPtr
IndicesAllocator<> Indices
Type used for indices in PCL.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
NormalsConstPtr input_normals_
The normals computed at each point in the input cloud.
void applyFilter(Indices &indices) override
Sample of point indices.
void setSeed(unsigned int seed)
Set seed of random function.
shared_ptr< const PointCloud< PointT > > ConstPtr
void setSample(unsigned int sample)
Set number of indices to be sampled.
std::string filter_name_
The filter name.
shared_ptr< const Filter< PointT > > ConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.
NormalSpaceSampling()
Empty constructor.
void setNormals(const NormalsConstPtr &normals)
Set the normals computed on the input point cloud.
unsigned int getSeed() const
Get the value of the internal seed parameter.
typename PointCloud::ConstPtr PointCloudConstPtr