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.
Introduced in: CGAL 4.7
Depends on: PkgTriangulation3
BibTeX: cgal:dc-afsr-21b
License: GPL
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) |
|
template<typename PointInputIterator , typename IndicesOutputIterator , typename Priority > |
IndicesOutputIterator | CGAL::advancing_front_surface_reconstruction (PointInputIterator b, PointInputIterator e, IndicesOutputIterator out, Priority priority, double radius_ratio_bound=5, double beta=0.52) |
|
◆ advancing_front_surface_reconstruction() [1/2]
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 |
|
) |
| |
◆ advancing_front_surface_reconstruction() [2/2]
template<typename PointInputIterator , typename IndicesOutputIterator , typename Priority >
IndicesOutputIterator CGAL::advancing_front_surface_reconstruction |
( |
PointInputIterator |
b, |
|
|
PointInputIterator |
e, |
|
|
IndicesOutputIterator |
out, |
|
|
Priority |
priority, |
|
|
double |
radius_ratio_bound = 5 , |
|
|
double |
beta = 0.52 |
|
) |
| |
#include <CGAL/Advancing_front_surface_reconstruction.h>
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 std::array<std::size_t, 3> can be assigned. |
Priority | must be a functor with double operator()(AdvancingFront,Cell_handle,int) returning the priority of the facet (Cell_handle,int) . |
- 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 |
priority | allows the user to choose how candidate triangles are prioritized. |