From 769da4d7490bcc4b18dc6d1f89291fa256cd5b9d Mon Sep 17 00:00:00 2001 From: Clement Jamin Date: Wed, 26 Mar 2014 17:02:10 +0100 Subject: [PATCH] Fix \cgalAdvanced --- .../CGAL/Delaunay_triangulation.h | 17 +++++--- .../doc/Triangulation/CGAL/Triangulation.h | 41 ++++++++++++++----- .../CGAL/Triangulation_data_structure.h | 10 +++-- .../CGAL/Triangulation_ds_full_cell.h | 4 +- .../CGAL/Triangulation_ds_vertex.h | 5 ++- .../Concepts/TriangulationDSFullCell.h | 4 +- 6 files changed, 58 insertions(+), 23 deletions(-) diff --git a/Triangulation/doc/Triangulation/CGAL/Delaunay_triangulation.h b/Triangulation/doc/Triangulation/CGAL/Delaunay_triangulation.h index 774d12ff6d3..10392f6a0f5 100644 --- a/Triangulation/doc/Triangulation/CGAL/Delaunay_triangulation.h +++ b/Triangulation/doc/Triangulation/CGAL/Delaunay_triangulation.h @@ -103,7 +103,8 @@ Same as above but uses a vertex as starting place for the search. Vertex_handle insert(const Point & p, Vertex_handle hint); /*! -\cgalAdvanced Inserts the point `p` in the Delaunay triangulation +\cgalAdvancedBegin +Inserts the point `p` in the Delaunay triangulation and ensures that the empty-ball property is preserved. Returns a handle to the (possibly newly created) vertex at that position. The behavior depends on the @@ -124,24 +125,29 @@ The parameters `lt`, `f`, `ft` and `c` must be consistent with the localization of point `p` in the Delaunay triangulation e.g. by a call to `c = locate(p, lt, f, ft)`. +\cgalAdvancedEnd */ Vertex_handle insert(const Point & p, const Locate_type lt, const Face & f, const Facet & ft, const Full_cell_handle c); /*! -\cgalAdvanced Inserts the point `p` in the Delaunay triangulation. Returns a handle to the +\cgalAdvancedBegin +Inserts the point `p` in the Delaunay triangulation. Returns a handle to the (possibly newly created) vertex at that position. \pre The point `p` must lie outside the affine hull of the Delaunay triangulation. This implies that `dt`.`current_dimension()` must be less that `dt`.`maximal_dimension()`. +\cgalAdvancedEnd */ Vertex_handle insert_outside_affine_hull(const Point & p); /*! -\cgalAdvanced Inserts the point `p` in the Delaunay triangulation. Returns a handle to the +\cgalAdvancedBegin +Inserts the point `p` in the Delaunay triangulation. Returns a handle to the (possibly newly created) vertex at that position. \pre The point `p` must be in conflict with the full cell `c`. +\cgalAdvancedEnd */ Vertex_handle insert_in_conflicting_cell(const Point & p, const Full_cell_handle c); @@ -161,7 +167,8 @@ bool is_in_conflict(const Point & p, Full_cell_const_handle c) const; /*! -\cgalAdvanced Outputs handles to the full cells in confict with +\cgalAdvancedBegin +Outputs handles to the full cells in confict with point `p` into the `OutputIterator out`. The full cell `c` is used as a starting point for gathering the full cells in conflict with `p`. @@ -170,7 +177,7 @@ A facet `(cc,i)` on the boundary of the conflict zone with \pre `c` is in conflict with `p`. `dt`.`current_dimension()`\f$ \geq2\f$. - +\cgalAdvancedEnd */ template< typename OutputIterator > Facet compute_conflict_zone(const Point & p, const Full_cell_handle c, diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation.h b/Triangulation/doc/Triangulation/CGAL/Triangulation.h index f437ae41ae8..0962fd5a260 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation.h @@ -186,7 +186,9 @@ Triangulation(const Triangulation & t2); /// @{ /*! -\cgalAdvanced Returns a const reference to the underlying triangulation data structure. +\cgalAdvancedBegin +Returns a const reference to the underlying triangulation data structure. +\cgalAdvancedEnd */ const Triangulation_ds & tds() const; @@ -447,12 +449,13 @@ Face & f, Vertex_handle hint) const; /// @{ /*! -\cgalAdvanced Contracts the `Face f` to a single vertex at +\cgalAdvancedBegin +Contracts the `Face f` to a single vertex at position `p`. Returns a handle to that vertex. \pre The boundary of the union of full cells incident to `f` must be a triangulation of a sphere of dimension `tr`.`current_dimension()`). - +\cgalAdvancedEnd */ Vertex_handle collapse_face(const Point & p, const Face & f); @@ -485,7 +488,8 @@ Same as above but uses a vertex `hint` as the starting place for the search. Vertex_handle insert(const Point p, Vertex_handle hint); /*! -\cgalAdvanced Inserts point `p` into the triangulation and returns a handle to the +\cgalAdvancedBegin +Inserts point `p` into the triangulation and returns a handle to the `Vertex` at that position. The action taken depends on the value of `loc_type`: @@ -498,11 +502,13 @@ of `loc_type`, using the full cell `c`. This method is used internally by the other `insert()` methods. +\cgalAdvancedEnd */ Vertex_handle insert(const Point p, Locate_type loc_type, Face & f, Facet & ft, Full_cell_handle c); /*! -\cgalAdvanced The full cells in the range \f$ C=\f$`[s, e)` are removed, +\cgalAdvancedBegin +The full cells in the range \f$ C=\f$`[s, e)` are removed, thus forming a hole. A `Vertex` is inserted at position `p` and connected to the boundary of the hole in order to ``fill it''. A `Vertex_handle` to the new `Vertex` is @@ -514,49 +520,62 @@ interior and not contain any vertex all of whose incident full cells are in \f$C\f$ . (This implies that `t.current_dimension()`\f$ \geq 2\f$ if \f$|C|>1\f$ .) The boundary of \f$C\f$ must be a triangulation of the sphere \f$ \mathcal S ^k-1\f$. +\cgalAdvancedEnd */ template < typename ForwardIterator, typename OutputIterator > Vertex_handle insert_in_hole(const Point & p, ForwardIterator s, ForwardIterator e, const Facet & ft, OutputIterator out); /*! -\cgalAdvanced Same as above, but the newly created full cells are not +\cgalAdvancedBegin +Same as above, but the newly created full cells are not retrieved. +\cgalAdvancedEnd */ template < typename ForwardIterator > Vertex_handle insert_in_hole(const Point & p, ForwardIterator s, ForwardIterator e, const Facet & ft); /*! -\cgalAdvanced Inserts point `p` in the triangulation. +\cgalAdvancedBegin +Inserts point `p` in the triangulation. \pre `p` must lie in the relative interior of `f`. +\cgalAdvancedEnd */ Vertex_handle insert_in_face(const Point & p, const Face & f); /*! -\cgalAdvanced Inserts point `p` in the triangulation. +\cgalAdvancedBegin +Inserts point `p` in the triangulation. \pre `p` must lie in the relative interior of `ft`. +\cgalAdvancedEnd */ Vertex_handle insert_in_facet(const Point & p, const Facet & ft); /*! -\cgalAdvanced Inserts point `p` in the triangulation. \pre `p` must lie in the +\cgalAdvancedBegin +Inserts point `p` in the triangulation. \pre `p` must lie in the interior of `c`. +\cgalAdvancedEnd */ Vertex_handle insert_in_full_cell(const Point & p, Full_cell_handle c); /*! -\cgalAdvanced Inserts point `p` in the triangulation. +\cgalAdvancedBegin +Inserts point `p` in the triangulation. \pre `p` must lie outside the convex hull of `tr`. The half-space defined by the infinite full cell `c` must contain `p`. +\cgalAdvancedEnd */ Vertex_handle insert_outside_convex_hull(const Point &, Full_cell_handle c); /*! -\cgalAdvanced Inserts point `p` in the triangulation. +\cgalAdvancedBegin +Inserts point `p` in the triangulation. \pre `p` must lie outside the affine hull of `tr`. +\cgalAdvancedEnd */ Vertex_handle insert_outside_affine_hull(const Point &); diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h index 495bdb71983..b1dfda7dde9 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h @@ -81,10 +81,12 @@ bool is_valid(bool verbose = true) const; /// @{ /*! -\cgalAdvanced A data member of type `Full_cell_data` is stored in every full cell +\cgalAdvancedBegin +A data member of type `Full_cell_data` is stored in every full cell (models of the concept `TriangulationDSFullCell`). It is used to mark some full cells, during modifications of the triangulation data structure. +\cgalAdvancedEnd */ typedef Hidden_type Full_cell_data; @@ -93,14 +95,16 @@ typedef Hidden_type Full_cell_data; /// \name Vertex insertion /// @{ -/*! -\cgalAdvanced A set `C` of full cells satisfying the same condition as in method +/*! +\cgalAdvancedBegin +A set `C` of full cells satisfying the same condition as in method `Triangulation_data_structure::insert_in_hole()` is assumed to be marked. This method creates new full cells from vertex `v` to the boundary of `C`. The boundary is recognized by checking the mark of the full cells. This method is used by `Triangulation_data_structure::insert_in_hole()`. s \pre same as `Triangulation_data_structure::insert_in_hole()` +\cgalAdvancedEnd */ template< OutputIterator > Full_cell_handle insert_in_tagged_hole( diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h index 60abe05b5f2..775af8de411 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h @@ -72,8 +72,10 @@ The `is_valid` method is only minimally defined in the `TriangulationDSFullCell` concept, so that we document it more precisely here, for the model `Triangulation_ds_full_cell`. -\cgalAdvanced Implements the validity checks required by the concept +\cgalAdvancedBegin +Implements the validity checks required by the concept `TriangulationDSFullCell`. +\cgalAdvancedEnd */ bool is_valid(bool verbose=false) const; diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h index f43ce367356..dfa931c3af5 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h @@ -43,13 +43,14 @@ public: /// @{ /*! - -\cgalAdvanced The `is_valid` method is only minimally defined in the +\cgalAdvancedBegin +The `is_valid` method is only minimally defined in the `TriangulationDSVertex` concept, so that we document it more precisely here, for the model `Triangulation_ds_vertex`: Implements the validity checks required by the concept `TriangulationDSVertex`. Does not implement additional checks. +\cgalAdvancedEnd */ bool is_valid(bool verbose=false) const; diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h index e993f93e757..4bc03930255 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h @@ -178,11 +178,13 @@ TDS_data & tds_data(); /// @} /*! -\cgalAdvanced Returns a handle to the mirror vertex of the `i`-th vertex of full cell +\cgalAdvancedBegin +Returns a handle to the mirror vertex of the `i`-th vertex of full cell `c`. This function works even if the adjacency information stored in the neighbor full cell `*``c``.neighbor(i)` is corrupted. This is useful when temporary corruption is necessary during surgical operations on a triangulation. \pre \f$0 \leq i,\f$ `cur_dim` \f$ \leq \f$ `maximal_dimension()`. +\cgalAdvancedEnd */ Vertex_handle mirror_vertex(const int i, const int cur_dim) const;