\( \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.10 - Point Set Processing
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Namespaces

 internal
 

Classes

class  Point_set_with_structure
 A 3D point set with structure information based on a set of detected planes. More...
 
class  Ply_reader
 The PLY reader is initialized with the correct set of properties (along with their name tags and number types) based on the header of the PLY input file. More...
 
class  Ply_interpreter_points_and_normals_3
 PLY interpreter designed to fill an output iterator of points and normals based on given property maps. More...
 

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 Traits , typename OutputIterator >
OutputIterator structure_point_set (typename Traits::Input_range::iterator first, typename Traits::Input_range::iterator beyond, typename Traits::Point_map point_map, typename Traits::Normal_map normal_map, OutputIterator output, Shape_detection_3::Efficient_RANSAC< Traits > &shape_detection, double epsilon, double attraction_factor=3.)
 This is an implementation of the Point Set Structuring algorithm. More...
 
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 PlyInterpreter , typename Kernel >
bool read_ply_custom_points (std::istream &stream, PlyInterpreter &interpreter, const Kernel &)
 Reads points from a .ply stream (ASCII or binary) using a custom interpreter provided by the user. 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 &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 SamplesInputIterator , typename SamplesPointPMap , typename QueriesInputIterator , typename QueriesPointPMap , typename OutputIterator , typename Kernel >
OutputIterator estimate_local_k_neighbor_scales (SamplesInputIterator first, SamplesInputIterator beyond, SamplesPointPMap samples_pmap, QueriesInputIterator first_query, QueriesInputIterator beyond_query, QueriesPointPMap queries_pmap, OutputIterator output, const Kernel &)
 Estimates the local scale in a K nearest neighbors sense on a set of user-defined query points. More...
 
template<typename InputIterator , typename PointPMap , typename Kernel >
std::size_t estimate_global_k_neighbor_scale (InputIterator first, InputIterator beyond, PointPMap point_pmap, const Kernel &kernel)
 Estimates the global scale in a K nearest neighbors sense. More...
 
template<typename SamplesInputIterator , typename SamplesPointPMap , typename QueriesInputIterator , typename QueriesPointPMap , typename OutputIterator , typename Kernel >
OutputIterator estimate_local_range_scales (SamplesInputIterator first, SamplesInputIterator beyond, SamplesPointPMap samples_pmap, QueriesInputIterator first_query, QueriesInputIterator beyond_query, QueriesPointPMap queries_pmap, OutputIterator output, const Kernel &)
 Estimates the local scale in a range sense on a set of user-defined query points. More...
 
template<typename InputIterator , typename PointPMap , typename Kernel >
Kernel::FT estimate_global_range_scale (InputIterator first, InputIterator beyond, PointPMap point_pmap, const Kernel &kernel)
 Estimates the global scale in a range sense. 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, double threshold_distance, 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...