\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Point Set Processing

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Namespaces | Classes | Functions
CGAL Namespace Reference

## Namespaces
| internal

## Classes
struct | value_type_traits
| Class providing the value type of an iterator, and in the case of an output iterator, a type of objects that can be put in it. More...
struct | value_type_traits< std::back_insert_iterator< Container > >
struct | value_type_traits< std::insert_iterator< Container > >
struct | value_type_traits< std::front_insert_iterator< Container > >

## Functions
template<class FT , class VCMTraits >
bool | vcm_is_on_feature_edge (cpp11::array< FT, 6 > &cov, double threshold, VCMTraits)
| determines if a point is on a sharp feature edge from a point set for which the Voronoi covariance Measures have been computed. More...
template<class FT >
bool | vcm_is_on_feature_edge (cpp11::array< FT, 6 > &cov, double threshold)
template<class ForwardIterator , class PointPMap , class Kernel >
void | compute_vcm (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, std::vector< cpp11::array< typename Kernel::FT, 6 > > &ccov, double offset_radius, double convolution_radius, const Kernel &kernel)
| computes the Voronoi Covariance Measure (VCM) of a point cloud, a construction that can be used for normal estimation and sharp feature detection. More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename VCMTraits >
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, double convolution_radius, VCMTraits)
| Estimates normal directions of the points in the range `[first, beyond)` using the Voronoi Covariance Measure with a radius for the convolution. More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename VCMTraits >
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, unsigned int k, VCMTraits)
| Estimates normal directions of the points in the range `[first, beyond)` using the Voronoi Covariance Measure with a number of neighbors for the convolution. More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap >
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, double convolution_radius)
template<typename ForwardIterator , typename PointPMap , typename NormalPMap >
void | vcm_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, double offset_radius, unsigned int nb_neighbors_convolve)
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
ForwardIterator | mst_orient_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &kernel)
| Orients the normals of the `[first, beyond)` range of points using the propagation of a seed orientation through a minimum spanning tree of the Riemannian graph [Hoppe92]. More...
template<typename Concurrency_tag , typename OutputIterator , typename RandomAccessIterator , typename PointPMap , typename Kernel >
OutputIterator | wlop_simplify_and_regularize_point_set (RandomAccessIterator first, RandomAccessIterator beyond, OutputIterator output, PointPMap point_pmap, double select_percentage, double radius, unsigned int iter_number, bool require_uniform_sampling, const Kernel &)
| This is an implementation of the Weighted Locally Optimal Projection (WLOP) simplification algorithm. More...
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
double | bilateral_smooth_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, typename Kernel::FT sharpness_angle, const Kernel &)
| This function smooths an input point set by iteratively projecting each point onto the implicit surface patch fitted over its k nearest neighbors. More...
template<typename Concurrency_tag , typename OutputIterator , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
OutputIterator | edge_aware_upsample_point_set (ForwardIterator first, ForwardIterator beyond, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const typename Kernel::FT sharpness_angle, typename Kernel::FT edge_sensitivity, typename Kernel::FT neighbor_radius, const std::size_t number_of_output_points, const Kernel &)
| This method progressively upsamples the point set while approaching the edge singularities (detected by normal variation), which generates a denser point set from an input point set. More...
template<typename ForwardIterator , typename PointPMap , typename DiagonalizeTraits , typename Kernel >
ForwardIterator | hierarchy_simplify_point_set (ForwardIterator begin, ForwardIterator end, PointPMap point_pmap, const unsigned int size, const double var_max, const DiagonalizeTraits &, const Kernel &)
| Recursively split the point set in smaller clusters until the clusters have less than `size` elements or until their variation factor is below `var_max`. More...
template<typename ForwardIterator , typename PointPMap , typename Kernel >
ForwardIterator | random_simplify_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap, double removed_percentage, const Kernel &)
| Randomly deletes a user-specified fraction of the input points. More...
template<typename Concurrency_tag , typename InputIterator , typename PointPMap , typename Kernel , typename SvdTraits >
void | jet_smooth_point_set (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, const Kernel &, unsigned int degree_fitting=2, unsigned int degree_monge=2)
| Smoothes the `[first, beyond)` range of points using jet fitting on the k nearest neighbors and reprojection onto the jet. More...
template<typename Concurrency_tag , typename InputIterator , typename PointPMap , typename Kernel >
Kernel::FT | compute_average_spacing (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, const Kernel &)
| Computes average spacing from k nearest neighbors. More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | read_off_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Reads points (positions + normals, if available) from a .off ASCII stream. More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename Kernel >
bool | read_off_points (std::istream &stream, OutputIterator output, PointPMap point_pmap, const Kernel &kernel)
| Reads points (position only) from a .off ASCII stream. More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | read_ply_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Reads points (positions + normals, if available) from a .ply stream (ASCII or binary). More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename Kernel >
bool | read_ply_points (std::istream &stream, OutputIterator output, PointPMap point_pmap, const Kernel &kernel)
| Reads points (position only) from a .ply stream (ASCII or binary). More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | write_xyz_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions + normals) to a .xyz ASCII stream. More...
template<typename ForwardIterator , typename PointPMap , typename Kernel >
bool | write_xyz_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions only) to a .xyz ASCII stream. More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | write_off_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions + normals) to a .off ASCII stream. More...
template<typename ForwardIterator , typename PointPMap , typename Kernel >
bool | write_off_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions only) to a .off ASCII stream. More...
template<typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | write_ply_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions + normals) to a .ply ASCII stream. More...
template<typename ForwardIterator , typename PointPMap , typename Kernel >
bool | write_ply_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, const Kernel &)
| Saves the [first, beyond) range of points (positions only) to a .ply ASCII stream. More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap , typename Kernel >
bool | read_xyz_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap, const Kernel &)
| Reads points (positions + normals, if available) from a .xyz ASCII stream. More...
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename Kernel >
bool | read_xyz_points (std::istream &stream, OutputIterator output, PointPMap point_pmap, const Kernel &kernel)
| Reads points (positions only) from a .xyz ASCII stream. More...
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel , typename SvdTraits >
void | jet_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &, unsigned int degree_fitting=2)
| Estimates normal directions of the `[first, beyond)` range of points using jet fitting on the k nearest neighbors. More...
template<typename Concurrency_tag , typename ForwardIterator , typename PointPMap , typename NormalPMap , typename Kernel >
void | pca_estimate_normals (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap, unsigned int k, const Kernel &)
| Estimates normal directions of the `[first, beyond)` range of points by linear least squares fitting of a plane over the k nearest neighbors. More...
template<typename InputIterator , typename PointPMap , typename Kernel >
InputIterator | remove_outliers (InputIterator first, InputIterator beyond, PointPMap point_pmap, unsigned int k, double threshold_percent, const Kernel &)
| Removes outliers: More...
template<typename ForwardIterator , typename PointPMap , typename Kernel >
ForwardIterator | grid_simplify_point_set (ForwardIterator first, ForwardIterator beyond, PointPMap point_pmap, double epsilon, const Kernel &)
| Merges points which belong to the same cell of a grid of cell size = `epsilon`. More...