40#include <pcl/filters/filter_indices.h>
54 template<
typename Po
intT>
73 using Ptr = shared_ptr<RandomSample<PointT> >;
74 using ConstPtr = shared_ptr<const RandomSample<PointT> >;
79 sample_ (std::numeric_limits<unsigned int>::max()),
80 seed_ (static_cast<unsigned int> (time (nullptr)))
138 return (
static_cast<float>(rand () /
static_cast<double>(RAND_MAX)));
159 using Ptr = shared_ptr<RandomSample<pcl::PCLPointCloud2> >;
160 using ConstPtr = shared_ptr<const RandomSample<pcl::PCLPointCloud2> >;
164 sample_ (std::numeric_limits<unsigned int>::max()),
165 seed_ (static_cast<unsigned int>(time(nullptr)))
167 filter_name_ =
"RandomSample";
229 return (
static_cast<float> (rand () /
static_cast<double>(RAND_MAX)));
234#ifdef PCL_NO_PRECOMPILE
235#include <pcl/filters/impl/random_sample.hpp>
bool extract_removed_indices_
Set to true if we want to return the indices of the removed points.
const std::string & getClassName() const
Get a string representation of the name of this class.
std::string filter_name_
The filter name.
IndicesPtr removed_indices_
Indices of the points that are removed.
FilterIndices represents the base class for filters that are about binary point removal.
float user_filter_value_
The user given value that the filtered point dimensions should be set to (default = NaN).
bool keep_organized_
False = remove points (default), true = redefine points, keep structure.
bool negative_
False = normal filter behavior (default), true = inverted behavior.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
unsigned int seed_
Random number seed.
void applyFilter(PCLPointCloud2 &output) override
Sample of point indices into a separate PointCloud.
unsigned int sample_
Number of indices that will be returned.
shared_ptr< RandomSample< pcl::PCLPointCloud2 > > Ptr
RandomSample()
Empty constructor.
void setSeed(unsigned int seed)
Set seed of random function.
void setSample(unsigned int sample)
Set number of indices to be sampled.
unsigned int getSample() const
Get the value of the internal sample parameter.
shared_ptr< const RandomSample< pcl::PCLPointCloud2 > > ConstPtr
void applyFilter(Indices &indices) override
Sample of point indices.
unsigned int getSeed() const
Get the value of the internal seed parameter.
float unifRand()
Return a random number fast using a LCG (Linear Congruential Generator) algorithm.
RandomSample applies a random sampling with uniform probability.
void setSeed(unsigned int seed)
Set seed of random function.
shared_ptr< const RandomSample< PointT > > ConstPtr
float unifRand()
Return a random number fast using a LCG (Linear Congruential Generator) algorithm.
void applyFilter(Indices &indices) override
Sample of point indices.
void setSample(unsigned int sample)
Set number of indices to be sampled.
unsigned int sample_
Number of indices that will be returned.
unsigned int getSeed() const
Get the value of the internal seed parameter.
unsigned int seed_
Random number seed.
RandomSample(bool extract_removed_indices=false)
Empty constructor.
shared_ptr< RandomSample< PointT > > Ptr
unsigned int getSample() const
Get the value of the internal sample parameter.
IndicesAllocator<> Indices
Type used for indices in PCL.
shared_ptr< ::pcl::PCLPointCloud2 > Ptr
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.