45 #include <pcl/filters/filter_indices.h>
62 template <
typename Po
intT,
typename Po
intNT>
72 using CloudPtr =
typename Cloud::Ptr;
73 using CloudConstPtr =
typename Cloud::ConstPtr;
77 using Ptr = shared_ptr< CovarianceSampling<PointT, PointNT> >;
78 using ConstPtr = shared_ptr< const CovarianceSampling<PointT, PointNT> >;
104 inline NormalsConstPtr
141 std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> >
scaled_points_;
160 std::pair<int, double> b)
161 {
return (a.second > b.second); }
168 #ifdef PCL_NO_PRECOMPILE
169 #include <pcl/filters/impl/covariance_sampling.hpp>
Point Cloud sampling based on the 6D covariances.
NormalsConstPtr input_normals_
The normals computed at each point in the input cloud.
CovarianceSampling()
Empty constructor.
void setNormals(const NormalsConstPtr &normals)
Set the normals computed on the input point cloud.
shared_ptr< const CovarianceSampling< PointT, PointNT > > ConstPtr
double computeConditionNumber()
Compute the condition number of the input point cloud.
shared_ptr< CovarianceSampling< PointT, PointNT > > Ptr
NormalsConstPtr getNormals() const
Get the normals computed on the input point cloud.
bool computeCovarianceMatrix(Eigen::Matrix< double, 6, 6 > &covariance_matrix)
Computes the covariance matrix of the input cloud.
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > scaled_points_
void setNumberOfSamples(unsigned int samples)
Set number of indices to be sampled.
static bool sort_dot_list_function(std::pair< int, double > a, std::pair< int, double > b)
unsigned int num_samples_
Number of indices that will be returned.
unsigned int getNumberOfSamples() const
Get the value of the internal num_samples_ parameter.
void applyFilter(Cloud &output) override
Sample of point indices into a separate PointCloud.
std::string filter_name_
The filter name.
FilterIndices represents the base class for filters that are about binary point removal.
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< const PointCloud< PointT > > ConstPtr
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
IndicesAllocator<> Indices
Type used for indices in PCL.
Defines all the PCL and non-PCL macros used.