44#include <pcl/Vertices.h>
45#include <pcl/features/feature.h>
55 template <
typename Po
intInT,
typename Po
intOutT>
111 setTriangles (
const std::vector <pcl::Vertices>& triangles);
117 getTriangles (std::vector <pcl::Vertices>& triangles)
const;
132 buildListOfPointsTriangles ();
140 getLocalSurface (
const PointInT& point, std::set <unsigned int>& local_triangles,
pcl::Indices& local_points)
const;
148 computeLRF (
const PointInT& point,
const std::set <unsigned int>& local_triangles, Eigen::Matrix3f& lrf_matrix)
const;
159 computeEigenVectors (
const Eigen::Matrix3f& matrix, Eigen::Vector3f& major_axis, Eigen::Vector3f& middle_axis,
160 Eigen::Vector3f& minor_axis)
const;
170 transformCloud (
const PointInT& point,
const Eigen::Matrix3f& matrix,
const pcl::Indices& local_points,
PointCloudIn& transformed_cloud)
const;
182 Eigen::Vector3f& min, Eigen::Vector3f& max)
const;
193 getDistributionMatrix (
const unsigned int projection,
const Eigen::Vector3f& min,
const Eigen::Vector3f& max,
const PointCloudIn& cloud, Eigen::MatrixXf& matrix)
const;
200 computeCentralMoments (
const Eigen::MatrixXf& matrix, std::vector <float>& moments)
const;
205 unsigned int number_of_bins_{5};
208 unsigned int number_of_rotations_{3};
211 float support_radius_{1.0f};
214 float sqr_support_radius_{1.0f};
220 std::vector <pcl::Vertices> triangles_;
223 std::vector <std::vector <unsigned int> > triangles_of_the_point_;
230#define PCL_INSTANTIATE_ROPSEstimation(InT, OutT) template class PCL_EXPORTS pcl::ROPSEstimation<InT, OutT>;
232#ifdef PCL_NO_PRECOMPILE
233#include <pcl/features/impl/rops_estimation.hpp>
Feature represents the base feature class.
pcl::PointCloud< PointOutT > PointCloudOut
KdTreePtr tree_
A pointer to the spatial search object.
Feature()
Empty constructor.
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation.
pcl::PointCloud< PointInT > PointCloudIn
PointCloudConstPtr input_
float getSupportRadius() const
Returns the support radius.
void setNumberOfRotations(unsigned int number_of_rotations)
This method sets the number of rotations.
ROPSEstimation()
Simple constructor.
void setNumberOfPartitionBins(unsigned int number_of_bins)
Allows to set the number of partition bins that is used for distribution matrix calculation.
unsigned int getNumberOfPartitionBins() const
Returns the number of partition bins.
unsigned int getNumberOfRotations() const
returns the number of rotations.
void setSupportRadius(float support_radius)
Allows to set the support radius that is used to crop the local surface of the point.
void setTriangles(const std::vector< pcl::Vertices > &triangles)
This method sets the triangles of the mesh.
typename pcl::Feature< PointInT, PointOutT >::PointCloudIn PointCloudIn
typename pcl::Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
void getTriangles(std::vector< pcl::Vertices > &triangles) const
Returns the triangles of the mesh.
#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.