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