Tran Kai Frank Da, David Cohen-Steiner
This package provides a greedy algorithm for surface reconstruction from an unorganized point set. Starting from a seed facet, a piecewise linear surface is grown by adding Delaunay triangles one by one. The most plausible triangles are added first, in a way that avoids the appearance of topological singularities.
Classes
Functions
|
template<typename PointInputIterator , typename IndicesOutputIterator > |
IndicesOutputIterator | CGAL::advancing_front_surface_reconstruction (PointInputIterator b, PointInputIterator e, IndicesOutputIterator out, double radius_ratio_bound=5, double beta=0.52) |
| For a sequence of points computes a sequence of index triples describing the faces of the reconstructed surface. More...
|
|
template<typename PointInputIterator , typename IndicesOutputIterator , typename Filter > |
IndicesOutputIterator | CGAL::advancing_front_surface_reconstruction (PointInputIterator b, PointInputIterator e, IndicesOutputIterator out, Filter filter, double radius_ratio_bound=5, double beta=0.52) |
| For a sequence of points computes a sequence of index triples describing the faces of the reconstructed surface. More...
|
|
template<typename PointInputIterator , typename IndicesOutputIterator >
IndicesOutputIterator CGAL::advancing_front_surface_reconstruction |
( |
PointInputIterator |
b, |
|
|
PointInputIterator |
e, |
|
|
IndicesOutputIterator |
out, |
|
|
double |
radius_ratio_bound = 5 , |
|
|
double |
beta = 0.52 |
|
) |
| |
template<typename PointInputIterator , typename IndicesOutputIterator , typename Filter >
IndicesOutputIterator CGAL::advancing_front_surface_reconstruction |
( |
PointInputIterator |
b, |
|
|
PointInputIterator |
e, |
|
|
IndicesOutputIterator |
out, |
|
|
Filter |
filter, |
|
|
double |
radius_ratio_bound = 5 , |
|
|
double |
beta = 0.52 |
|
) |
| |
For a sequence of points computes a sequence of index triples describing the faces of the reconstructed surface.
- Template Parameters
-
PointInputIterator | must be an input iterator with 3D points as value type. This point type must be convertible to Exact_predicates_inexact_constructions_kernel::Point_3 with the Cartesian_converter . |
IndicesOutputIterator | must be an output iterator to which CGAL::cpp11::tuple<std::size_t,std::size_t,std::size_t> can be assigned. |
Filter | must be a functor with bool operator()(Point,Point,Point) where Point is Exact_predicates_inexact_constructions_kernel::Point_3 . |
- Parameters
-
b | iterator on the first point of the sequence |
e | past the end iterator of the point sequence |
out | output iterator |
radius_ratio_bound | candidates incident to surface triangles which are not in the beta-wedge are discarded, if the ratio of their radius and the radius of the surface triangle is larger than radius_ratio_bound . Described in Section Dealing with Multiple Components, Boundaries and Sharp Edges |
beta | half the angle of the wedge in which only the radius of triangles counts for the plausibility of candidates. Described in Section Plausibility of a Candidate Triangle |
filter | allows the user to filter candidate triangles, for example based on their size. |
#include <CGAL/Advancing_front_surface_reconstruction.h>