38 #ifndef PCL_FILTERS_NORMAL_SUBSAMPLE_H_
39 #define PCL_FILTERS_NORMAL_SUBSAMPLE_H_
41 #include <pcl/filters/boost.h>
42 #include <pcl/filters/filter_indices.h>
51 template<
typename Po
intT,
typename NormalT>
70 typedef boost::shared_ptr<NormalSpaceSampling<PointT, NormalT> >
Ptr;
71 typedef boost::shared_ptr<const NormalSpaceSampling<PointT, NormalT> >
ConstPtr;
75 :
sample_ (std::numeric_limits<unsigned int>::max ())
76 ,
seed_ (static_cast<unsigned int> (time (NULL)))
81 , rng_uniform_distribution_ (NULL)
89 if (rng_uniform_distribution_ != NULL)
90 delete rng_uniform_distribution_;
123 setBins (
unsigned int binsx,
unsigned int binsy,
unsigned int binsz)
136 getBins (
unsigned int& binsx,
unsigned int& binsy,
unsigned int& binsz)
const
150 inline NormalsConstPtr
190 findBin (
const float *normal,
unsigned int nbins);
198 isEntireBinSampled (boost::dynamic_bitset<> &array,
unsigned int start_index,
unsigned int length);
201 boost::variate_generator<boost::mt19937, boost::uniform_int<uint32_t> > *rng_uniform_distribution_;
205 #ifdef PCL_NO_PRECOMPILE
206 #include <pcl/filters/impl/normal_space.hpp>
209 #endif //#ifndef PCL_FILTERS_NORMAL_SPACE_SUBSAMPLE_H_