Point Cloud Library (PCL)  1.7.2
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 >:

Public Types

typedef boost::shared_ptr
< SurfelSmoothing< PointT,
PointNT > > 
Ptr
typedef boost::shared_ptr
< const SurfelSmoothing
< PointT, PointNT > > 
ConstPtr
typedef pcl::PointCloud< PointTPointCloudIn
typedef pcl::PointCloud
< PointT >::Ptr 
PointCloudInPtr
typedef pcl::PointCloud< PointNT > NormalCloud
typedef pcl::PointCloud
< PointNT >::Ptr 
NormalCloudPtr
typedef pcl::search::Search
< PointT
CloudKdTree
typedef pcl::search::Search
< PointT >::Ptr 
CloudKdTreePtr
- Public Types inherited from pcl::PCLBase< PointT >
typedef pcl::PointCloud< PointTPointCloud
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr
typedef boost::shared_ptr
< PointIndices
PointIndicesPtr
typedef boost::shared_ptr
< PointIndices const > 
PointIndicesConstPtr

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

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

Definition at line 47 of file surfel_smoothing.h.

Member Typedef Documentation

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

Definition at line 60 of file surfel_smoothing.h.

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

Definition at line 61 of file surfel_smoothing.h.

template<typename PointT , typename PointNT >
typedef boost::shared_ptr<const SurfelSmoothing<PointT, PointNT> > pcl::SurfelSmoothing< PointT, PointNT >::ConstPtr

Definition at line 54 of file surfel_smoothing.h.

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

Definition at line 58 of file surfel_smoothing.h.

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

Definition at line 59 of file surfel_smoothing.h.

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

Definition at line 56 of file surfel_smoothing.h.

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

Definition at line 57 of file surfel_smoothing.h.

template<typename PointT , typename PointNT >
typedef boost::shared_ptr<SurfelSmoothing<PointT, PointNT> > pcl::SurfelSmoothing< PointT, PointNT >::Ptr

Definition at line 53 of file surfel_smoothing.h.

Constructor & Destructor Documentation

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

Definition at line 63 of file surfel_smoothing.h.

Member Function Documentation

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

Definition at line 244 of file surfel_smoothing.hpp.

template<typename PointT , typename PointNT >
void pcl::SurfelSmoothing< PointT, PointNT >::extractSalientFeaturesBetweenScales ( PointCloudInPtr cloud2,
NormalCloudPtr cloud2_normals,
boost::shared_ptr< std::vector< int > > &  output_features 
)

Definition at line 273 of file surfel_smoothing.hpp.

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

This method should get called before starting the actual computation.

Internally, initCompute() does the following:

  • checks if an input dataset is given, and returns false otherwise
  • checks whether a set of input indices has been given. Returns true if yes.
  • if no input indices have been given, a fake set is created, which will be used until:
    • either a new set is given via setIndices(), or
    • a new cloud is given that has a different set of points. This will trigger an update on the set of fake indices

Reimplemented from pcl::PCLBase< PointT >.

Definition at line 46 of file surfel_smoothing.hpp.

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

Definition at line 75 of file surfel_smoothing.h.

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

Definition at line 78 of file surfel_smoothing.h.

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

Definition at line 82 of file surfel_smoothing.hpp.

References pcl::squaredEuclideanDistance().

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

Definition at line 158 of file surfel_smoothing.hpp.


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