Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Types | Public Member Functions
pcl::SurfelSmoothing< PointT, PointNT > Class Template Reference

#include <pcl/surface/surfel_smoothing.h>

+ Inheritance diagram for pcl::SurfelSmoothing< PointT, PointNT >:
+ Collaboration diagram for pcl::SurfelSmoothing< PointT, PointNT >:

Public Types

using Ptr = shared_ptr< SurfelSmoothing< PointT, PointNT > >
 
using ConstPtr = shared_ptr< const SurfelSmoothing< PointT, PointNT > >
 
using PointCloudIn = pcl::PointCloud< PointT >
 
using PointCloudInPtr = typename pcl::PointCloud< PointT >::Ptr
 
using NormalCloud = pcl::PointCloud< PointNT >
 
using NormalCloudPtr = typename pcl::PointCloud< PointNT >::Ptr
 
using CloudKdTree = pcl::search::Search< PointT >
 
using CloudKdTreePtr = typename pcl::search::Search< PointT >::Ptr
 
- Public Types inherited from pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
 
using PointCloudPtr = typename PointCloud::Ptr
 
using PointCloudConstPtr = typename PointCloud::ConstPtr
 
using PointIndicesPtr = PointIndices::Ptr
 
using PointIndicesConstPtr = PointIndices::ConstPtr
 

Public Member Functions

 SurfelSmoothing (float a_scale=0.01)
 
void setInputNormals (NormalCloudPtr &a_normals)
 
void setSearchMethod (const CloudKdTreePtr &a_tree)
 
bool initCompute ()
 
float smoothCloudIteration (PointCloudInPtr &output_positions, NormalCloudPtr &output_normals)
 
void computeSmoothedCloud (PointCloudInPtr &output_positions, NormalCloudPtr &output_normals)
 
void smoothPoint (std::size_t &point_index, PointT &output_point, PointNT &output_normal)
 
void extractSalientFeaturesBetweenScales (PointCloudInPtr &cloud2, NormalCloudPtr &cloud2_normals, pcl::IndicesPtr &output_features)
 
- Public Member Functions inherited from pcl::PCLBase< PointT >
 PCLBase ()
 Empty constructor. More...
 
 PCLBase (const PCLBase &base)
 Copy constructor. More...
 
virtual ~PCLBase ()=default
 Destructor. More...
 
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset. More...
 
PointCloudConstPtr const getInputCloud () const
 Get a pointer to the input point cloud dataset. More...
 
virtual void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (const IndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (const PointIndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data. More...
 
virtual void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
 Set the indices for the points laying within an interest region of the point cloud. More...
 
IndicesPtr getIndices ()
 Get a pointer to the vector of indices used. More...
 
IndicesConstPtr const getIndices () const
 Get a pointer to the vector of indices used. More...
 
const PointToperator[] (std::size_t pos) const
 Override PointCloud operator[] to shorten code. More...
 

Additional Inherited Members

- Protected Member Functions inherited from pcl::PCLBase< PointT >
bool initCompute ()
 This method should get called before starting the actual computation. More...
 
bool deinitCompute ()
 This method should get called after finishing the actual computation. More...
 
- Protected Attributes inherited from pcl::PCLBase< PointT >
PointCloudConstPtr input_
 The input point cloud dataset. More...
 
IndicesPtr indices_
 A pointer to the vector of point indices to use. More...
 
bool use_indices_
 Set to true if point indices are used. More...
 
bool fake_indices_
 If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...
 

Detailed Description

template<typename PointT, typename PointNT>
class pcl::SurfelSmoothing< PointT, PointNT >

Definition at line 46 of file surfel_smoothing.h.

Member Typedef Documentation

◆ CloudKdTree

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::CloudKdTree = pcl::search::Search<PointT>

Definition at line 59 of file surfel_smoothing.h.

◆ CloudKdTreePtr

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::CloudKdTreePtr = typename pcl::search::Search<PointT>::Ptr

Definition at line 60 of file surfel_smoothing.h.

◆ ConstPtr

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::ConstPtr = shared_ptr<const SurfelSmoothing<PointT, PointNT> >

Definition at line 53 of file surfel_smoothing.h.

◆ NormalCloud

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::NormalCloud = pcl::PointCloud<PointNT>

Definition at line 57 of file surfel_smoothing.h.

◆ NormalCloudPtr

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::NormalCloudPtr = typename pcl::PointCloud<PointNT>::Ptr

Definition at line 58 of file surfel_smoothing.h.

◆ PointCloudIn

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::PointCloudIn = pcl::PointCloud<PointT>

Definition at line 55 of file surfel_smoothing.h.

◆ PointCloudInPtr

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::PointCloudInPtr = typename pcl::PointCloud<PointT>::Ptr

Definition at line 56 of file surfel_smoothing.h.

◆ Ptr

template<typename PointT , typename PointNT >
using pcl::SurfelSmoothing< PointT, PointNT >::Ptr = shared_ptr<SurfelSmoothing<PointT, PointNT> >

Definition at line 52 of file surfel_smoothing.h.

Constructor & Destructor Documentation

◆ SurfelSmoothing()

template<typename PointT , typename PointNT >
pcl::SurfelSmoothing< PointT, PointNT >::SurfelSmoothing ( float  a_scale = 0.01)
inline

Definition at line 62 of file surfel_smoothing.h.

Member Function Documentation

◆ computeSmoothedCloud()

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::computeSmoothedCloud ( PointCloudInPtr output_positions,
NormalCloudPtr output_normals 
)

Definition at line 247 of file surfel_smoothing.hpp.

◆ extractSalientFeaturesBetweenScales()

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::extractSalientFeaturesBetweenScales ( PointCloudInPtr cloud2,
NormalCloudPtr cloud2_normals,
pcl::IndicesPtr output_features 
)

Definition at line 276 of file surfel_smoothing.hpp.

◆ initCompute()

template<typename PointT , typename PointNT >
bool pcl::SurfelSmoothing< PointT, PointNT >::initCompute

Definition at line 49 of file surfel_smoothing.hpp.

◆ setInputNormals()

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::setInputNormals ( NormalCloudPtr a_normals)
inline

Definition at line 74 of file surfel_smoothing.h.

◆ setSearchMethod()

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::setSearchMethod ( const CloudKdTreePtr a_tree)
inline

Definition at line 77 of file surfel_smoothing.h.

◆ smoothCloudIteration()

template<typename PointT , typename PointNT >
float pcl::SurfelSmoothing< PointT, PointNT >::smoothCloudIteration ( PointCloudInPtr output_positions,
NormalCloudPtr output_normals 
)

Definition at line 85 of file surfel_smoothing.hpp.

References pcl::squaredEuclideanDistance().

◆ smoothPoint()

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::smoothPoint ( std::size_t &  point_index,
PointT output_point,
PointNT &  output_normal 
)

Definition at line 161 of file surfel_smoothing.hpp.


The documentation for this class was generated from the following files: