Point Cloud Library (PCL)  1.3.1
Public Types | Public Member Functions
pcl::SurfelSmoothing Class Reference

#include <pcl/surface/surfel_smoothing.h>

Inheritance diagram for pcl::SurfelSmoothing:
Inheritance graph
[legend]
Collaboration diagram for pcl::SurfelSmoothing:
Collaboration graph
[legend]

List of all members.

Public Types

typedef pcl::PointCloud< PointT > PointCloudIn
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
typedef pcl::PointCloud< PointT > PointCloud
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr
typedef PointIndices::Ptr PointIndicesPtr
typedef PointIndices::ConstPtr 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)
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset.
PointCloudConstPtr const getInputCloud ()
 Get a pointer to the input point cloud dataset.
void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
void setIndices (const PointIndicesConstPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
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.
const PointT & operator[] (size_t pos)
 Override PointCloud operator[] to shorten code.

Member Typedef Documentation

Definition at line 57 of file surfel_smoothing.h.

Definition at line 58 of file surfel_smoothing.h.

Definition at line 55 of file surfel_smoothing.h.

Definition at line 56 of file surfel_smoothing.h.

typedef pcl::PointCloud<PointT> pcl::PCLBase::PointCloud [inherited]

Definition at line 53 of file surfel_smoothing.h.

Definition at line 54 of file surfel_smoothing.h.


Constructor & Destructor Documentation

pcl::SurfelSmoothing::SurfelSmoothing ( float  a_scale = 0.01) [inline]

Definition at line 60 of file surfel_smoothing.h.


Member Function Documentation

void pcl::SurfelSmoothing::computeSmoothedCloud ( PointCloudInPtr output_positions,
NormalCloudPtr output_normals 
)

Definition at line 243 of file surfel_smoothing.hpp.

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

Definition at line 272 of file surfel_smoothing.hpp.

IndicesPtr const pcl::PCLBase::getIndices ( ) [inline, inherited]

Get a pointer to the vector of indices used.

Definition at line 171 of file pcl_base.h.

PointCloudConstPtr const pcl::PCLBase::getInputCloud ( ) [inline, inherited]

Get a pointer to the input point cloud dataset.

Definition at line 99 of file pcl_base.h.

bool pcl::SurfelSmoothing::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 45 of file surfel_smoothing.hpp.

const PointT& pcl::PCLBase::operator[] ( size_t  pos) [inline, inherited]

Override PointCloud operator[] to shorten code.

Note:
this method can be called instead of (*input_)[(*indices_)[pos]] or input_->points[(*indices_)[pos]]
Parameters:
posposition in indices_ vector

Definition at line 178 of file pcl_base.h.

void pcl::PCLBase::setIndices ( const IndicesPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 105 of file pcl_base.h.

void pcl::PCLBase::setIndices ( const PointIndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 116 of file pcl_base.h.

void pcl::PCLBase::setIndices ( size_t  row_start,
size_t  col_start,
size_t  nb_rows,
size_t  nb_cols 
) [inline, inherited]

Set the indices for the points laying within an interest region of the point cloud.

Note:
you shouldn't call this method on unorganized point clouds!
Parameters:
row_startthe offset on rows
col_startthe offset on columns
nb_rowsthe number of rows to be considered row_start included
nb_colsthe number of columns to be considered col_start included

Definition at line 132 of file pcl_base.h.

virtual void pcl::PCLBase::setInputCloud ( const PointCloudConstPtr cloud) [inline, virtual, inherited]

Provide a pointer to the input dataset.

Parameters:
cloudthe const boost shared pointer to a PointCloud message

Definition at line 95 of file pcl_base.h.

void pcl::SurfelSmoothing::setInputNormals ( NormalCloudPtr a_normals) [inline]

Definition at line 70 of file surfel_smoothing.h.

void pcl::SurfelSmoothing::setSearchMethod ( const CloudKdTreePtr a_tree) [inline]

Definition at line 73 of file surfel_smoothing.h.

float pcl::SurfelSmoothing::smoothCloudIteration ( PointCloudInPtr output_positions,
NormalCloudPtr output_normals 
)

Definition at line 81 of file surfel_smoothing.hpp.

void pcl::SurfelSmoothing::smoothPoint ( size_t &  point_index,
PointT &  output_point,
PointNT &  output_normal 
)

Definition at line 157 of file surfel_smoothing.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines