Amal Dev Parakkat, Stefan Ohrhallinger, Elmar Eisemann, Pooran Memari
The package provides a Delaunay triangulation based surface reconstruction algorithm from an unorganized point set. The reconstructed surface consists of the interface between Voronoi balls, which approximate the interior and exterior medial balls. This package contains two variants of the algorithm (local and global), which are carefully designed to target two different reconstruction scenarios for watertight surfaces from accurate or noisy samples, as well as real-world scanned data sets, exhibiting noise, outliers, and large areas of missing data.
Concepts
Functions
Class
template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_local (const PointRange &points, TripleIndexRange &out_triangles, const NamedParameters &np=parameters::default_values ())
creates a triangle soup approximating the surface, and puts the resulting triangule faces in out_triangles
.
template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_global (const PointRange &points, TripleIndexRange &out_triangles1, TripleIndexRange &out_triangles2, const NamedParameters &np=parameters::default_values ())
creates two watertight meshes approximating the surface, and puts the resulting triangule faces in out_triangles1
and out_triangles2
.
◆ ball_merge_surface_reconstruction_global()
template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_global
(
const PointRange &
points ,
TripleIndexRange &
out_triangles1 ,
TripleIndexRange &
out_triangles2 ,
const NamedParameters &
np = parameters::default_values ()
)
#include <CGAL/Ball_merge_surface_reconstruction.h>
creates two watertight meshes approximating the surface, and puts the resulting triangule faces in out_triangles1
and out_triangles2
.
Template Parameters
Parameters
points is the input points representing a single connected component of a watertight surface
out_triangles1 is the output parameter storing the first resulting mesh
out_triangles2 is the output parameter storing the second resulting mesh
np an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
delta
the value of \delta
Type: double
Default: 1.7
concurrency_tag
geom_traits
Examples Ball_merge_surface_reconstruction/ball_merge_reconstruction.cpp , and Ball_merge_surface_reconstruction/ball_merge_reconstruction_global.cpp .
◆ ball_merge_surface_reconstruction_local()
template<class NamedParameters = parameters::Default_named_parameters, class PointRange , class TripleIndexRange >
void CGAL::ball_merge_surface_reconstruction_local
(
const PointRange &
points ,
TripleIndexRange &
out_triangles ,
const NamedParameters &
np = parameters::default_values ()
)
#include <CGAL/Ball_merge_surface_reconstruction.h>
creates a triangle soup approximating the surface, and puts the resulting triangule faces in out_triangles
.
Template Parameters
Parameters
points is the input points
out_triangles is the output parameter storing triangles approximating the surface
np an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
delta
the value of \delta
Type: double
Default: 1.7
eta
the value of \eta
Type: double
Default: 200.
Extra: The geometric traits class must be compatible with the vertex point type.
concurrency_tag
geom_traits
Examples Ball_merge_surface_reconstruction/ball_merge_reconstruction.cpp , and Ball_merge_surface_reconstruction/ball_merge_reconstruction_local.cpp .