From b14cfce8cd0a065627d71cfd8f1b0f1d395a7259 Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Wed, 21 Nov 2012 11:18:36 +0100 Subject: [PATCH] polish T2 --- .../Constrained_Delaunay_triangulation_2.h | 61 ++++++++----------- .../CGAL/Constrained_triangulation_2.h | 16 +++-- .../CGAL/Delaunay_triangulation_2.h | 13 +--- .../CGAL/Regular_triangulation_2.h | 14 ++--- .../Triangulation_2/CGAL/Triangulation_2.h | 18 +++--- .../CGAL/Triangulation_hierarchy_2.h | 6 +- .../Concepts/DelaunayTriangulationTraits_2.h | 4 -- 7 files changed, 49 insertions(+), 83 deletions(-) diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h index 9dfca91b24d..e495135c47b 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h @@ -4,34 +4,36 @@ namespace CGAL { /*! \ingroup PkgTriangulation2TriangulationClasses -A constrained Delaunay triangulation is a triangulation with -constrained edges which tries to be as much Delaunay as possible. -Constrained edges are not necessarily Delaunay edges, -therefore a constrained Delaunay triangulation is not a Delaunay -triangulation. A constrained Delaunay is a triangulation -whose faces do not -necessarily fulfill the empty circle property -but fulfill a weaker property called the -constrained empty circle. -To state this property, -it is convenient to think of constrained -edges as blocking the view. Then, a triangulation is -constrained Delaunay if -the circumscribing circle -of any of its triangular faces includes in its interior -no vertex that is visible -from the interior of the triangle. -The class `Constrained_Delaunay_triangulation_2` is designed to represent -constrained Delaunay triangulations. +A constrained Delaunay triangulation is a triangulation with +constrained edges which tries to be as much Delaunay as possible. +Constrained edges are not necessarily Delaunay edges, therefore a +constrained Delaunay triangulation is not a Delaunay triangulation. A +constrained Delaunay is a triangulation whose faces do not necessarily +fulfill the empty circle property but fulfill a weaker property called +the constrained empty circle. To state this property, it is +convenient to think of constrained edges as blocking the view. Then, a +triangulation is constrained Delaunay if the circumscribing circle of +any of its triangular faces includes in its interior no vertex that is +visible from the interior of the triangle. As in the case of constrained triangulations, three different versions of Delaunay constrained triangulations are offered depending on whether the user wishes to handle intersecting input constraints or not. -The desired version can be selected through the instantiation of the -third template parameter `Itag` which can be one of the -following : +\tparam Traits is the geometric traits of a constrained Delaunay triangulation. +It must be a model of `DelaunayTriangulationTraits_2`, providing the `side_of_oriented_circle` test +of a Delaunay triangulation. +When intersection of input constraints are supported, +the geometric traits class +is required to provide additional function object types +to compute the intersection of two segments. +and has then to be also a model of the concept +`ConstrainedTriangulationTraits_2`. + +\tparam Tds must be a model of `TriangulationDataStructure_2`. + +\tparam Itag allows to select if intersecting constraints are supported and how they are handled. - `No_intersection_tag` if intersections of input constraints are disallowed, - `Exact_predicates_tag` allows intersections between input @@ -41,21 +43,6 @@ predicates but approximate constructions of the intersection points, constraints and is to be used in conjunction with an exact arithmetic type. -The template parameters `Tds` -has to be instantiate with a model of `TriangulationDataStructure_2`. -The geometric traits -of a constrained Delaunay triangulation is required -to provide the `side_of_oriented_circle` test as the geometric traits -of a Delaunay triangulation and the `Traits` -parameter has -to be instantiated with a model -`DelaunayTriangulationTraits_2`. -When intersection of input constraints are supported, -the geometric traits class -is required to provide additional function object types -to compute the intersection of two segments. -and has then to be also a model of the concept -`ConstrainedTriangulationTraits_2`. A constrained Delaunay triangulation is not a Delaunay triangulation but it is a constrained triangulation. diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_2.h index 425f05e740e..b10d5e3f2f2 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_2.h @@ -77,10 +77,8 @@ Section \ref Section_2D_Triangulations_Constrained_Plus. \image html constraints.gif -The class `Constrained_triangulation_2` of the \cgal library -implements constrained triangulations. -The template parameter `Traits` -stands for a geometric traits class. It has to be a model + +\tparam Traits is a geometric traits class and must be a model of the concept `TriangulationTraits_2`. When intersection of input constraints are supported, the geometric traits class @@ -88,15 +86,15 @@ is required to provide additional function object types to compute the intersection of two segments. It has then to be a model of the concept `ConstrainedTriangulationTraits_2`. -The template parameter `Tds` -stands for -a triangulation data structure class that has to be a model + + +\tparam Tds must be a model of the concept `TriangulationDataStructure_2`. -The third parameter `Itag` is the intersection tag + +\tparam Itag is the intersection tag which serves to choose between the different strategies to deal with constraints intersections. \cgal provides three valid types for this parameter: - - `No_intersection_tag` disallows intersections of input constraints, - `Exact_predicates_tag` is to be used when the traits diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Delaunay_triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Delaunay_triangulation_2.h index 7e88adaaed4..23d4c4a0e60 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Delaunay_triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Delaunay_triangulation_2.h @@ -17,22 +17,15 @@ of more than three points, the Delaunay triangulation is unique, it is the dual of the Voronoi diagram of the points. -### Parameters ### - -The template parameter `Tds` -is to be instantiated with a model of -`TriangulationDataStructure_2`. +\tparam Tds must be a model of `TriangulationDataStructure_2`. \cgal provides a default instantiation for this parameter, which is the class `CGAL::Triangulation_data_structure_2 < CGAL::Triangulation_vertex_base_2, CGAL::Triangulation_face_base_2 >`. -The geometric traits `Traits` -is to be instantiated with a model of -`DelaunayTriangulationTraits_2`. +\tparam Traits must be a model of `DelaunayTriangulationTraits_2`. The concept `DelaunayTriangulationTraits_2` refines the concept `TriangulationTraits_2`, providing -a predicate type -to check the empty circle property. +a predicate type to check the empty circle property. Changing this predicate type allows to build Delaunay triangulations for different metrics diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_2.h index 5cc77204f6e..ee3011618eb 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_2.h @@ -107,10 +107,7 @@ the list of hidden vertices whose points are located in the facet. When a facet is removed, points hidden by this facet are reinserted in the triangulation. -### Parameters ### - -The geometric traits parameter `Traits` has -to be instantiated with a model of the concept +\tparam Traits is the geometric traits parameter and must be a model of the concept `RegularTriangulationTraits_2`. The concept `RegularTriangulationTraits_2` refines the concept `TriangulationTraits_2` by adding the type @@ -118,15 +115,14 @@ concept `TriangulationTraits_2` by adding the type and the type `Power_test_2` to perform power tests on weighted points. -The `Tds` parameter has to be instantiated by a model of -`TriangulationDataStructure_2`. The face base of a regular -triangulation has to be a model of the concept +\tparam Tds must be a model of `TriangulationDataStructure_2`. +The face base of a regular triangulation has to be a model of the concept `RegularTriangulationFaceBase_2`. while the vertex base class has to be a model of `RegularTriangulationVertexBase_2`. \cgal provides a default instantiation for the `Tds` parameter by the class -`CGAL::Triangulation_data_structure_2 < CGAL::Regular_triangulation_vertex_base_2, CGAL::Regular_triangulation_face_base_2 >`. +`Triangulation_data_structure_2 < Regular_triangulation_vertex_base_2, Regular_triangulation_face_base_2 >`. \sa `CGAL::Triangulation_2` \sa `TriangulationDataStructure_2` @@ -193,7 +189,7 @@ typedef Hidden_type Hidden_vertices_iterator; /// @{ /*! -Introduces an empty regular triangulation `rt`. +Introduces an empty regular triangulation. */ Regular_triangulation_2(const Traits& gt = Traits()); diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_2.h index ec690795817..5ab6a59b59f 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_2.h @@ -70,30 +70,26 @@ of `f` (see Figure \ref Triangulation_ref_Fig_neighbors). \anchor Triangulation_ref_Fig_neighbors \image html neighbors.gif "Vertices and neighbors." -### Parameters ### - -The class `Triangulation_2` has two template parameters. The first one -`Traits` is the geometric traits, it is to be instantiated by +\tparam Traits is the geometric traits which must be a model of the concept `TriangulationTraits_2`. -The second parameter is the triangulation data structure, -it has to be instantiated by a model of the concept -`TriangulationDataStructure_2`. +\tparam Tds is the triangulation data structure which +must be a model of the concept `TriangulationDataStructure_2`. By default, the triangulation data structure is instantiated by -`CGAL::Triangulation_data_structure_2 < CGAL::Triangulation_vertex_base_2, CGAL::Triangulation_face_base_2 >`. +`Triangulation_data_structure_2 < Triangulation_vertex_base_2, Triangulation_face_base_2 >`. ### Traversal of the Triangulation ### A triangulation can be seen as a container of faces and vertices. Therefore the triangulation provides several iterators and circulators -that allow to traverse it (completely or partially). +that allow to traverse it completely or partially. ### Traversal of the Convex Hull ### -Applied on the `infinite_vertex` the above functions allow to visit +Applied on the infinite vertex the above functions allow to visit the vertices on the convex hull and the infinite edges and faces. Note that a counterclockwise traversal of the vertices adjacent to the -`infinite_vertex` is a clockwise traversal of the convex hull. +infinite vertex is a clockwise traversal of the convex hull. \code typedef CGAL::Triangulation_2 Triangulation_2; diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h index fdf541e479f..d465d55c2c6 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h @@ -30,9 +30,9 @@ queries on real data. As proved in \cite d-iirdt-98, this structure has an optimal behavior when it is built for Delaunay triangulations. However it can be used as well for other triangulations. -The class `Triangulation_hierarchy_2` is templated by a parameter -which can be instantiated by any of the \cgal triangulation -classes. + + +\tparam Tr may be any of the \cgal triangulation classes. ### Types ### diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h index f90bd464d9f..5e1193a05b4 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h @@ -161,10 +161,6 @@ Construct_circumcenter_2 construct_circumcenter_2_object(); */ Construct_bisector_2 construct_bisector_2_object(); -/*! - -*/ -Construct_direction_2 construct_direction_2_object(); /*!