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

Namespaces

 cpp11
 
 IO
 
 Scale_space_reconstruction_3
 
 Shape_detection_3
 
 Surface_mesh_parameterization
 

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Identity_transformation
 
class  Reflection
 
class  Rotation
 
class  Scaling
 
class  Translation
 
class  Bbox_2
 
class  Bbox_3
 
class  Cartesian
 
class  Cartesian_converter
 
class  Circle_2
 
class  Circle_3
 
class  Ambient_dimension
 
class  Dimension_tag
 
class  Dynamic_dimension_tag
 
class  Feature_dimension
 
class  Direction_2
 
class  Direction_3
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_kth_root
 
class  Exact_predicates_exact_constructions_kernel_with_root_of
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
class  Filtered_kernel_adaptor
 
class  Filtered_kernel
 
class  Filtered_predicate
 
class  Homogeneous
 
class  Homogeneous_converter
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Kernel_traits
 
class  Line_2
 
class  Line_3
 
class  Null_vector
 
class  Origin
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
class  Ray_2
 
class  Ray_3
 
class  Segment_2
 
class  Segment_3
 
class  Simple_cartesian
 
class  Simple_homogeneous
 
class  Sphere_3
 
class  Tetrahedron_3
 
class  Triangle_2
 
class  Triangle_3
 
class  Vector_2
 
class  Vector_3
 
class  Weighted_point_2
 
class  Weighted_point_3
 
struct  Construct_array
 
class  CC_safe_handle
 
class  Compact_container_base
 
class  Compact_container
 
class  Compact_container_traits
 
class  Compact
 
class  Fast
 
class  Concurrent_compact_container_traits
 
class  Concurrent_compact_container
 
class  Default
 
class  Fourtuple
 
class  Cast_function_object
 
class  Compare_to_less
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
class  Dereference
 
class  Get_address
 
class  Identity
 
class  Project_facet
 
class  Project_next
 
class  Project_next_opposite
 
class  Project_normal
 
class  Project_opposite_prev
 
class  Project_plane
 
class  Project_point
 
class  Project_prev
 
class  Project_vertex
 
class  In_place_list_base
 
class  In_place_list
 
class  Const_oneset_iterator
 
class  Counting_iterator
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Emptyset_iterator
 
class  Filter_iterator
 
class  Insert_iterator
 
class  Inverse_index
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
class  N_step_adaptor
 
class  Oneset_iterator
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Iterator_range
 
class  Location_policy
 
class  Multiset
 
class  Object
 
class  Sixtuple
 
class  Spatial_lock_grid_3
 
class  Boolean_tag
 
struct  Null_functor
 
struct  Sequential_tag
 
struct  Parallel_tag
 
class  Null_tag
 
class  Threetuple
 
class  Twotuple
 
class  Uncertain
 
class  Quadruple
 
class  Triple
 
struct  value_type_traits
 
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 > >
 
class  Algebraic_structure_traits
 
class  Euclidean_ring_tag
 
class  Field_tag
 
class  Field_with_kth_root_tag
 
class  Field_with_root_of_tag
 
class  Field_with_sqrt_tag
 
class  Integral_domain_tag
 
class  Integral_domain_without_division_tag
 
class  Unique_factorization_domain_tag
 
class  Coercion_traits
 
class  Fraction_traits
 
class  Real_embeddable_traits
 
class  Circulator_from_container
 
class  Circulator_from_iterator
 
class  Circulator_traits
 
class  Container_from_circulator
 
struct  Circulator_tag
 
struct  Iterator_tag
 
struct  Forward_circulator_tag
 
struct  Bidirectional_circulator_tag
 
struct  Random_access_circulator_tag
 
struct  Circulator_base
 
struct  Forward_circulator_base
 
struct  Bidirectional_circulator_base
 
struct  Random_access_circulator_base
 
class  Forward_circulator_ptrbase
 
class  Bidirectional_circulator_ptrbase
 
class  Random_access_circulator_ptrbase
 
class  Color
 
class  Input_rep
 
class  Output_rep
 
class  Istream_iterator
 
class  Ostream_iterator
 
class  Verbose_ostream
 
class  Poisson_reconstruction_function
 
struct  Input_iterator_property_map
 
struct  Dereference_property_map
 
struct  Identity_property_map
 
struct  First_of_pair_property_map
 
struct  Second_of_pair_property_map
 
struct  Nth_of_tuple_property_map
 
struct  Nth_of_tuple_property_map< N, std::tuple< T...> >
 
struct  Property_map_to_unary_function
 
struct  Pointer_property_map
 
class  Approximate_min_ellipsoid_d
 
class  Approximate_min_ellipsoid_d_traits_2
 
class  Approximate_min_ellipsoid_d_traits_3
 
class  Approximate_min_ellipsoid_d_traits_d
 
class  Min_annulus_d
 
class  Min_circle_2
 
class  Min_circle_2_traits_2
 
class  Min_ellipse_2
 
class  Min_ellipse_2_traits_2
 
class  Min_quadrilateral_default_traits_2
 
class  Min_sphere_annulus_d_traits_2
 
class  Min_sphere_annulus_d_traits_3
 
class  Min_sphere_annulus_d_traits_d
 
class  Min_sphere_d
 
class  Min_sphere_of_points_d_traits_2
 
class  Min_sphere_of_points_d_traits_3
 
class  Min_sphere_of_points_d_traits_d
 
class  Min_sphere_of_spheres_d
 
class  Min_sphere_of_spheres_d_traits_2
 
class  Min_sphere_of_spheres_d_traits_3
 
class  Min_sphere_of_spheres_d_traits_d
 
class  Rectangular_p_center_default_traits_2
 
class  Monge_via_jet_fitting
 
class  Diagonalize_traits
 
class  Eigen_diagonalize_traits
 
class  Eigen_sparse_matrix
 
class  Eigen_sparse_symmetric_matrix
 
class  Eigen_matrix
 
class  Eigen_solver_traits
 
class  Eigen_svd
 
class  Eigen_vector
 
class  Advancing_front_surface_reconstruction
 
class  Advancing_front_surface_reconstruction_cell_base_3
 
class  Advancing_front_surface_reconstruction_vertex_base_3
 
class  Point_set_with_structure
 A 3D point set with structure information based on a set of detected planes. More...
 
struct  PLY_property
 Class used to identify a PLY property as a type and a name. 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 PointMap >
std::tuple< PointMap, typename
Kernel_traits< typename
PointMap::value_type >
::Kernel::Construct_point_3,
PLY_property< double >
, PLY_property< double >
, PLY_property< double > > 
make_ply_point_reader (PointMap point_map)
 Generates a PLY property handler to read 3D points. More...
 
template<typename VectorMap >
std::tuple< VectorMap,
typename Kernel_traits
< typename
VectorMap::value_type >
::Kernel::Construct_vector_3,
PLY_property< double >
, PLY_property< double >
, PLY_property< double > > 
make_ply_normal_reader (VectorMap normal_map)
 Generates a PLY property handler to read 3D normal vectors. More...
 
template<typename OutputIteratorValueType , typename OutputIterator , typename... PropertyHandler>
bool read_ply_points_with_properties (std::istream &stream, OutputIterator output, PropertyHandler &&...properties)
 Reads user-selected points properties from a .ply stream (ASCII or binary). More...
 
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap , typename NormalPMap >
bool read_ply_points_and_normals (std::istream &stream, OutputIterator output, PointPMap point_pmap, NormalPMap normal_pmap)
 Reads points (positions + normals, if available) from a .ply stream (ASCII or binary). More...
 
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap >
bool read_ply_points (std::istream &stream, OutputIterator output, PointPMap point_pmap)
 Reads points (position only) from a .ply stream (ASCII or binary). More...
 
template<typename PointMap >
std::tuple< PointMap, typename
Kernel_traits< typename
PointMap::value_type >
::Kernel::Construct_point_3,
LAS_property::X,
LAS_property::Y,
LAS_property::Z > 
make_las_point_reader (PointMap point_map)
 Generates a LAS property handler to read 3D points. More...
 
template<typename OutputIteratorValueType , typename OutputIterator , typename... PropertyHandler>
bool read_las_points_with_properties (std::istream &stream, OutputIterator output, PropertyHandler &&...properties)
 Reads user-selected points properties from a .las or .laz stream. More...
 
template<typename OutputIteratorValueType , typename OutputIterator , typename PointPMap >
bool read_las_points (std::istream &stream, OutputIterator output, PointPMap point_pmap)
 Reads points (position only) from a .las or .laz stream. 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 PointMap >
std::tuple< PointMap,
PLY_property< double >
, PLY_property< double >
, PLY_property< double > > 
make_ply_point_writer (PointMap point_map)
 Generates a PLY property handler to write 3D points. More...
 
template<typename VectorMap >
std::tuple< VectorMap,
PLY_property< double >
, PLY_property< double >
, PLY_property< double > > 
make_ply_normal_writer (VectorMap normal_map)
 Generates a PLY property handler to write 3D normal vectors. More...
 
template<typename ForwardIterator , typename... PropertyHandler>
bool write_ply_points_with_properties (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PropertyHandler &&...properties)
 Saves the [first, beyond) range of points with properties to a .ply stream. More...
 
template<typename ForwardIterator , typename PointMap , typename VectorMap >
bool write_ply_points_and_normals (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map, VectorMap normal_map)
 Saves the [first, beyond) range of points (positions + normals) to a .ply stream. More...
 
template<typename ForwardIterator , typename PointMap >
bool write_ply_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map)
 Saves the [first, beyond) range of points (positions only) to a .ply stream. More...
 
template<typename PointMap >
std::tuple< PointMap,
LAS_property::X,
LAS_property::Y,
LAS_property::Z > 
make_las_point_writer (PointMap point_map)
 Generates a LAS property handler to write 3D points. More...
 
template<typename ForwardIterator , typename PointMap , typename... PropertyHandler>
bool write_las_points_with_properties (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, std::tuple< PointMap, LAS_property::X, LAS_property::Y, LAS_property::Z > point_property, PropertyHandler &&...properties)
 Saves the [first, beyond) range of points with properties to a .las stream. More...
 
template<typename ForwardIterator , typename PointMap >
bool write_las_points (std::ostream &stream, ForwardIterator first, ForwardIterator beyond, PointMap point_map)
 Saves the [first, beyond) range of points (positions only) to a .las 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...