W3cubDocs

/PointCloudLibrary

Detailed Description

Overview

The pcl_surface library deals with reconstructing the original surfaces from 3D scans. Depending on the task at hand, this can be for example the hull, a mesh representation or a smoothed/resampled surface with normals.

Smoothing and resampling can be important if the cloud is noisy, or if it is composed of multiple scans that are not aligned perfectly. The complexity of the surface estimation can be adjusted, and normals can be estimated in the same step if needed.

Meshing is a general way to create a surface out of points, and currently there are two algorithms provided: a very fast triangulation of the original points, and a slower meshing that does smoothing and hole filling as well.

Creating a convex or concave hull is useful for example when there is a need for a simplified surface representation or when boundaries need to be extracted.

Please visit the tutorials on http://www.pointclouds.org for more information.

Requirements

Classes

class pcl::ConcaveHull< PointInT >
ConcaveHull (alpha shapes) using libqhull library. More...
class pcl::ConvexHull< PointInT >
ConvexHull using libqhull library. More...
class pcl::EarClipping
The ear clipping triangulation algorithm. More...
class pcl::GreedyProjectionTriangulation< PointInT >
GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. More...
class pcl::GridProjection< PointNT >
Grid projection surface reconstruction method. More...
class pcl::MarchingCubes< PointNT >
The marching cubes surface reconstruction algorithm. More...
class pcl::MarchingCubesHoppe< PointNT >
The marching cubes surface reconstruction algorithm, using a signed distance function based on the distance from tangent planes, proposed by Hoppe et. More...
class pcl::MarchingCubesRBF< PointNT >
The marching cubes surface reconstruction algorithm, using a signed distance function based on radial basis functions. More...
class pcl::MovingLeastSquares< PointInT, PointOutT >
MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More...
class pcl::OrganizedFastMesh< PointInT >
Simple triangulation/surface reconstruction for organized point clouds. More...
class pcl::Poisson< PointNT >
The Poisson surface reconstruction algorithm. More...
class pcl::CloudSurfaceProcessing< PointInT, PointOutT >
CloudSurfaceProcessing represents the base class for algorithms that takes a point cloud as input and produces a new output cloud that has been modified towards a better surface representation. More...
class pcl::MeshProcessing
MeshProcessing represents the base class for mesh processing algorithms. More...
class pcl::PCLSurfaceBase< PointInT >
Pure abstract class. More...
class pcl::SurfaceReconstruction< PointInT >
SurfaceReconstruction represents a base surface reconstruction class. More...
class pcl::MeshConstruction< PointInT >
MeshConstruction represents a base surface reconstruction class. More...
class pcl::TextureMapping< PointInT >
The texture mapping algorithm. More...

Functions

bool pcl::comparePoints2D (const std::pair< int, Eigen::Vector4f > &p1, const std::pair< int, Eigen::Vector4f > &p2)
Sort 2D points in a vector structure. More...
bool pcl::isVisible (const Eigen::Vector2f &X, const Eigen::Vector2f &S1, const Eigen::Vector2f &S2, const Eigen::Vector2f &R=Eigen::Vector2f::Zero())
Returns if a point X is visible from point R (or the origin) when taking into account the segment between the points S1 and S2. More...

Function Documentation

comparePoints2D()

bool pcl::comparePoints2D ( const std::pair< int, Eigen::Vector4f > & p1,
const std::pair< int, Eigen::Vector4f > & p2
)
inline

#include <pcl/surface/convex_hull.h>

Sort 2D points in a vector structure.

Parameters
p1 the first point
p2 the second point

Definition at line 59 of file convex_hull.h.

References M_PI.

Referenced by pcl::ConvexHull< PointInT >::performReconstruction2D().

isVisible()

bool pcl::isVisible ( const Eigen::Vector2f & X,
const Eigen::Vector2f & S1,
const Eigen::Vector2f & S2,
const Eigen::Vector2f & R = Eigen::Vector2f::Zero ()
)
inline

#include <pcl/surface/gp3.h>

Returns if a point X is visible from point R (or the origin) when taking into account the segment between the points S1 and S2.

Parameters
X 2D coordinate of the point
S1 2D coordinate of the segment's first point
S2 2D coordinate of the segment's second point
R 2D coordinate of the reference point (defaults to 0,0)

Definition at line 64 of file gp3.h.

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/group__surface.html