diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex index 853e2a2e269..1a94ba02aa3 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex @@ -195,10 +195,9 @@ points cannot be inserted or removed. We currently do not specify concepts for the underlying triangulation -type. Models that work for a basic alpha-shape are the classes -\ccc{CGAL::Delaunay_triangulation_3} and -\ccc{CGAL::Triangulation_hierarchy_3} templated with a Delaunay -triangulation. A model that works for a weighted alpha-shape is +type. Models that work for a basic alpha-shape are the instantiations +of the class \ccc{CGAL::Delaunay_triangulation_3}. +A model that works for a weighted alpha-shape is the class \ccc{CGAL::Regular_triangulation_3}. The triangulation needs a geometric traits class as argument. @@ -234,17 +233,18 @@ as underlying triangulation. \subsection{Building Basic Alpha Shapes for Many Points} When many points are input in the alpha shape, say more than 10 000, -it pays off to use a triangulation hierarchy as underlying triangulation -(cf. \ref{T3-concept-hierarchy}). +it may pay off to use a Delaunay triangulation with \ccc{Fast_location} +policy as underlying triangulation in order to speed up point location +quesries (cf. \ref{Triangulation3-sec-locpol}). -\ccIncludeExampleCode{Alpha_shapes_3/ex_alpha_shapes_with_hierarchy_3.cpp} +\ccIncludeExampleCode{Alpha_shapes_3/ex_alpha_shapes_with_fast_location_3.cpp} %---------------------------------------------------------------------- \subsection{Example for Weighted Alpha-Shapes\label{I1_SectWeightedAS3D}} The following examples build a weighted alpha shape requiring a regular triangulation as underlying triangulation. -The alpha shape is build in \ccc{GENERAL} mode. +The alpha shape is built in \ccc{GENERAL} mode. \ccIncludeExampleCode{Alpha_shapes_3/ex_weighted_alpha_shapes_3.cpp} diff --git a/Alpha_shapes_3/examples/Alpha_shapes_3/README b/Alpha_shapes_3/examples/Alpha_shapes_3/README index 79c00fd510d..e485ccd4535 100644 --- a/Alpha_shapes_3/examples/Alpha_shapes_3/README +++ b/Alpha_shapes_3/examples/Alpha_shapes_3/README @@ -1,12 +1,12 @@ - -example_alpha : read input points, compute the alpha shape in +ex_alpha_shapes_3 : read input points, compute the alpha shape in regularized mode and find the optimal value of $\alpha$, i. e. the smallest -$\alpha$ such that all input point are interior or on the boundary of the -alpha shape and the alpha shape has a single connected component. +$\alpha$ such that all input points are in the interior or on the boundary of +the alpha shape, and the alpha shape has a single connected component. -example_big_alpha : buid the alpha shape for a huge set of points using -a Delaunay hirarchy as underlying triangulation for efficiency. +ex_alpha_shapes_with_fast_location_3 : build the alpha shape using an +underlying Delaunay triangulation with Fast_location policy, for efficient +point location. -example_weight : build the weighted alpha shape of a small -set of spheres and explore the boundary of the alpha complex for $\alpha =0$. +ex_weighted_alpha_shapes_3 : build the weighted alpha shape of a small +set of spheres and explore the boundary of the alpha complex for $\alpha=0$. This complex is the nerve of the union of the spheres. diff --git a/Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_hierarchy_3.cpp b/Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_fast_location_3.cpp similarity index 77% rename from Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_hierarchy_3.cpp rename to Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_fast_location_3.cpp index 56de6cdd155..ee661186580 100644 --- a/Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_hierarchy_3.cpp +++ b/Alpha_shapes_3/examples/Alpha_shapes_3/ex_alpha_shapes_with_fast_location_3.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include @@ -10,12 +9,10 @@ typedef CGAL::Exact_predicates_inexact_constructions_kernel K; typedef CGAL::Alpha_shape_vertex_base_3 Vb; -typedef CGAL::Triangulation_hierarchy_vertex_base_3 Vbh; typedef CGAL::Alpha_shape_cell_base_3 Fb; -typedef CGAL::Triangulation_data_structure_3 Tds; -typedef CGAL::Delaunay_triangulation_3 Delaunay; -typedef CGAL::Triangulation_hierarchy_3 Delaunay_hierarchy; -typedef CGAL::Alpha_shape_3 Alpha_shape_3; +typedef CGAL::Triangulation_data_structure_3 Tds; +typedef CGAL::Delaunay_triangulation_3 Delaunay; +typedef CGAL::Alpha_shape_3 Alpha_shape_3; typedef K::Point_3 Point; typedef Alpha_shape_3::Alpha_iterator Alpha_iterator; @@ -23,7 +20,7 @@ typedef Alpha_shape_3::NT NT; int main() { - Delaunay_hierarchy dt; + Delaunay dt; std::ifstream is("./data/bunny_1000"); int n; is >> n;