\link-less link fixes

This commit is contained in:
Mael Rouxel-Labbé 2025-09-19 00:28:04 +02:00
parent 0721be1a58
commit cc9f36f0f3
4 changed files with 60 additions and 60 deletions

View File

@ -346,7 +346,7 @@ all the cells (resp. facets) describing the hole, creates a new vertex
a new cell (resp. facet) with `v` as vertex. Then `v->set_point(p)`
is called and `v` is returned.
\pre `t.dimension() >= 2`, the set of cells (resp. facets in dimension 2) is connected, its boundary is connected, and `p` lies inside the hole, which is star-shaped wrt `p`.
\pre `dimension() >= 2`, the set of cells (resp. facets in dimension 2) is connected, its boundary is connected, and `p` lies inside the hole, which is star-shaped wrt `p`.
*/
template <class CellIt>
Vertex_handle insert_in_hole(Point p, CellIt cell_begin, CellIt cell_end,

View File

@ -118,7 +118,7 @@ typedef unspecified_type Cell_handle;
/*!
Can be `CGAL::Sequential_tag`, `CGAL::Parallel_tag`, or `Parallel_if_available_tag`. If it is
`CGAL::Parallel_tag`, the following functions can be called concurrently:
`create_vertex`, `create_cell`, `delete_vertex`, `delete_cell`.
`create_vertex()`, `create_cell()`, `delete_vertex()`, `delete_cell()`.
*/
typedef unspecified_type Concurrency_tag;
@ -232,13 +232,13 @@ TriangulationDataStructure_3(const TriangulationDataStructure_3 & tds1);
/*!
Assignment operator. All vertices and cells are duplicated, and the former
data structure of `tds` is deleted.
data structure is deleted.
*/
TriangulationDataStructure_3& operator= (const TriangulationDataStructure_3 & tds1);
/*!
`tds1` is copied into `tds`. If `v != Vertex_handle()`,
the vertex of `tds` corresponding to `v` is returned,
`tds1` is copied into `this`. If `v != Vertex_handle()`,
the vertex corresponding to `v` is returned,
otherwise `Vertex_handle()` is returned.
\pre The optional argument `v` is a vertex of `tds1`.
*/
@ -266,19 +266,19 @@ otherwise `Vertex_handle()` is returned.
\pre The optional argument `v` is a vertex of `tds_src` or is `Vertex_handle()`.
*/
template <class TDS_src, class ConvertVertex, class ConvertCell>
Vertex_handle tds.copy_tds(const TDS_src& tds_src, typename TDS_src::Vertex_handle v, const ConvertVertex& convert_vertex, const ConvertCell& convert_cell);
Vertex_handle copy_tds(const TDS_src& tds_src, typename TDS_src::Vertex_handle v, const ConvertVertex& convert_vertex, const ConvertCell& convert_cell);
/*!
Swaps `tds` and `tds1`. There is no copy of cells and vertices,
Swaps `this` and `tds1`. There is no copy of cells and vertices,
thus this method runs in constant time. This method should be preferred to
`tds`=`tds1` or `tds`(`tds1`) when `tds1` is deleted after
that.
copy assignment (`*this = tds1`) or copy construction (`*this(tds1)`)
if `tds1` is deleted after the copy.
*/
void swap(TriangulationDataStructure_3 & tds1);
/*!
Deletes all cells and vertices. `tds` is reset as a triangulation
data structure constructed by the default constructor.
Deletes all cells and vertices. The triangulation data structure is reset as if
constructed by the default constructor.
*/
void clear();
@ -301,7 +301,7 @@ counted.
size_type number_of_vertices() const;
/*!
The number of cells. Returns 0 if `tds`.`dimension()`\f$ <3\f$.
The number of cells. Returns 0 if `dimension()`\f$ <3\f$.
*/
size_type number_of_cells() const;
@ -311,12 +311,12 @@ size_type number_of_cells() const;
/// @{
/*!
The number of facets. Returns 0 if `tds`.`dimension()`\f$ <2\f$.
The number of facets. Returns 0 if `dimension()`\f$ <2\f$.
*/
size_type number_of_facets() const;
/*!
The number of edges. Returns 0 if `tds`.`dimension()`\f$ <1\f$.
The number of edges. Returns 0 if `dimension()`\f$ <1\f$.
*/
size_type number_of_edges() const;
@ -339,19 +339,19 @@ void set_dimension(int n);
/// @{
/*!
Tests whether `v` is a vertex of `tds`.
Tests whether `v` is a vertex of the triangulation data structure.
*/
bool is_vertex(Vertex_handle v) const;
/*!
Tests whether `(c,i,j)` is an edge of `tds`. Answers `false` when
`dimension()` \f$ <1\f$ .
Tests whether `(c,i,j)` is an edge of the triangulation data structure.
Answers `false` when `dimension()` \f$ <1\f$ .
\pre \f$ i,j \in\{0,1,2,3\}\f$
*/
bool is_edge(Cell_handle c, int i, int j) const;
/*!
Tests whether `(u,v)` is an edge of `tds`. If the edge is found,
Tests whether `(u,v)` is an edge of the triangulation data structure. If the edge is found,
it computes a cell `c` having this edge and the indices `i`
and `j` of the vertices `u` and `v`, in this order.
*/
@ -359,19 +359,19 @@ bool is_edge(Vertex_handle u, Vertex_handle v,
Cell_handle & c, int & i, int & j) const;
/*!
Tests whether `(u,v)` is an edge of `tds`.
Tests whether `(u,v)` is an edge of the triangulation data structure.
*/
bool is_edge(Vertex_handle u, Vertex_handle v) const;
/*!
Tests whether `(c,i)` is a facet of `tds`. Answers `false` when
`dimension()` \f$ <2\f$ .
Tests whether `(c,i)` is a facet of of the triangulation data structure.
Answers `false` when `dimension()` \f$ <2\f$ .
\pre \f$ i \in\{0,1,2,3\}\f$
*/
bool is_facet(Cell_handle c, int i) const;
/*!
Tests whether `(u,v,w)` is a facet of `tds`. If the facet is found,
Tests whether `(u,v,w)` is a facet of the triangulation data structure. If the facet is found,
it computes a cell `c` having this facet and the indices `i`,
`j` and `k` of the vertices `u`, `v` and `w`, in
this order.
@ -380,13 +380,13 @@ bool is_facet(Vertex_handle u, Vertex_handle v, Vertex_handle w,
Cell_handle & c, int & i, int & j, int & k) const;
/*!
Tests whether `c` is a cell of `tds`. Answers `false` when
`dimension()` \f$ <3\f$ .
Tests whether `c` is a cell of the triangulation data structure.
Answers `false` when `dimension()` \f$ <3\f$ .
*/
bool is_cell(Cell_handle c) const;
/*!
Tests whether `(u,v,w,t)` is a cell of `tds`. If the cell
Tests whether `(u,v,w,t)` is a cell of the triangulation data structure. If the cell
`c` is found, it computes the indices `i`, `j`, `k`
and `l` of the vertices `u`, `v`, `w` and `t` in
`c`, in this order.
@ -401,7 +401,7 @@ Cell_handle & c, int & i, int & j, int & k, int & l) const;
/*!
If `v` is a vertex of `f`, then `j` is the index of
`v` in the cell `f.first`, and the method returns `true`.
\pre `tds`.dimension()=3
\pre `dimension() == 3`
*/
bool has_vertex(const Facet & f, Vertex_handle v, int & j) const;
@ -429,17 +429,17 @@ bool has_vertex(Cell_handle c, int i, Vertex_handle v) const;
/// @{
/*!
\pre `dimension() == 3`
*/
bool are_equal(const Facet & f, const Facet & g) const;
/*!
\pre `dimension() == 3`
*/
bool are_equal(Cell_handle c, int i, Cell_handle n, int j) const;
/*!
For these three methods: \pre `tds`.dimension()=3.
\pre `dimension() == 3`
*/
bool are_equal(const Facet & f, Cell_handle n, int j) const;
@ -602,15 +602,14 @@ described, and `begin->neighbor(i)` does not. Then this function deletes
all the cells (resp. facets) describing the hole, creates a new vertex
`v`, and for each facet (resp. edge) on the boundary of the hole, creates
a new cell (resp. facet) with `v` as vertex. `v` is returned.
\pre `tds`.`dimension()` \f$ \geq2\f$, the set of cells (resp. facets) is connected, and its boundary is connected.
\pre `dimension()` \f$ \geq2\f$, the set of cells (resp. facets) is connected, and its boundary is connected.
*/
template <class CellIt>
Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end,
Cell_handle begin, int i);
/*!
Same as above, except that `newv` will be used as the new vertex, which
must have been allocated previously with e.g. `create_vertex`.
Same as above, except that `newv` will be used as the new vertex, which must have been allocated previously with, e.g., `create_vertex()`.
*/
template <class CellIt>
Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end,
@ -656,7 +655,8 @@ triangulation of the sphere \f$ S^d\f$ of \f$ \mathbb{R}^{d+1}\f$ onto the
triangulation of the sphere \f$ S^{d-1}\f$ of \f$ \mathbb{R}^{d}\f$ formed by the link of `v`
augmented with the vertex `v` itself, for \f$ d\f$==2,3; this one is placed on the facet `(c, i)`
(see Fig. \ref TDS3dim_down).
\pre The dimension must be 2 or 3. The degree of `v` must be equal to the total number of vertices of the triangulation data structure minus 1.
\pre The dimension must be 2 or 3.
\pre The degree of `v` must be equal to the total number of vertices of the triangulation data structure minus 1.
\anchor TDS3dim_down
\image html tds-dim_down.png
@ -680,7 +680,7 @@ void decrease_dimension(Cell_handle c, int i);
\cgalAdvancedBegin
Changes the orientation of all cells of the triangulation data structure.
\cgalAdvancedEnd
\pre `tds`.`dimension()` \f$ \geq1\f$.
\pre `dimension()` \f$ \geq1\f$.
*/
void reorient();
@ -783,7 +783,7 @@ void delete_cells(CellIt first, CellIt last);
/// @{
/*!
Returns `cells_end()` when `tds.dimension()` \f$ <3\f$.
Returns `cells_end()` when `dimension()` \f$ <3\f$.
*/
Cell_iterator cells_begin() const;
@ -794,7 +794,7 @@ Cell_iterator cells_end() const;
/*!
Low-level access to the cells, does not return `cells_end()`
when `tds.dimension()` \f$ <3\f$.
when `dimension()` \f$ <3\f$.
*/
Cell_iterator raw_cells_begin() const;
@ -804,7 +804,7 @@ Cell_iterator raw_cells_begin() const;
Cell_iterator raw_cells_end() const;
/*!
Returns `facets_end()` when `tds.dimension()` \f$ <2\f$.
Returns `facets_end()` when `dimension()` \f$ <2\f$.
*/
Facet_iterator facets_begin() const;
@ -814,7 +814,7 @@ Facet_iterator facets_begin() const;
Facet_iterator facets_end() const;
/*!
Returns `edges_end()` when `tds.dimension()` \f$ <1\f$.
Returns `edges_end()` when `dimension()` \f$ <1\f$.
*/
Edge_iterator edges_begin() const;
@ -840,7 +840,7 @@ Vertex_iterator vertices_end() const;
/*!
Starts at an arbitrary cell incident to `e`.
\pre `tds.dimension()` \f$ =3\f$
\pre `dimension()` \f$ =3\f$
*/
Cell_circulator incident_cells(const Edge & e) const;
@ -851,7 +851,7 @@ Cell_circulator incident_cells(Cell_handle c, int i, int j) const;
/*!
Starts at cell `start`.
\pre `tds.dimension()` \f$ =3\f$ and `start` is incident to `e`.
\pre `dimension()` \f$ =3\f$ and `start` is incident to `e`.
*/
Cell_circulator incident_cells(const Edge & e, Cell_handle start) const;
@ -865,9 +865,9 @@ const;
Starts at an arbitrary facet incident to `e`.
Only defined in dimension 3, though are defined also in dimension 2:
there are only two facets sahring an edge in dimension 2.
there are only two facets sharing an edge in dimension 2.
\pre `tds.dimension()` \f$ =3\f$
\pre `dimension()` \f$ =3\f$
*/
Facet_circulator incident_facets(Edge e) const;
@ -1049,7 +1049,7 @@ Writes `tds` into the stream `os`
ostream& operator<< (ostream& os, const TriangulationDataStructure_3 & tds);
/*! \ingroup PkgIOTDS3
The tds streamed in `is`, of original type `TDS_src`, is written into the triangulation data structure. As the vertex and cell
The triangulation data structure streamed in `is`, of original type `TDS_src`, is written into the triangulation data structure. As the vertex and cell
types might be different and incompatible, the creation of new cells and vertices
is made thanks to the functors `convert_vertex` and `convert_cell`, that convert
vertex and cell types. For each vertex `v_src` in `is`, the corresponding

View File

@ -225,7 +225,7 @@ is called and `v` is returned.
If the hole contains interior vertices, each of them is hidden by the insertion
of `p` and is stored in the new cell which contains it.
\pre `rt`.`dimension()` \f$ \geq2\f$, the set of cells (resp. facets in dimension 2) is connected, not empty, its boundary is connected, and `p` lies inside the hole, which is star-shaped wrt `p`.
\pre `dimension()` \f$ \geq2\f$, the set of cells (resp. facets in dimension 2) is connected, not empty, its boundary is connected, and `p` lies inside the hole, which is star-shaped wrt `p`.
*/
template <class CellIt>
Vertex_handle insert_in_hole(const Weighted_point& p,
@ -320,7 +320,7 @@ of `c` is less than \f$ \pi/2\f$ or if these two spheres do not
intersect. For an
infinite cell this means that `p` does not satisfy either of the
two previous conditions.
\pre `rt`.`dimension()` \f$ =3\f$.
\pre `dimension()` \f$ =3\f$.
*/
Bounded_side
side_of_power_sphere(Cell_handle c, const Weighted_point & p) const;
@ -372,7 +372,7 @@ If the point `p` is collinear with the finite edge `e` of
`ON_BOUNDARY` if \f$ \Pi({p}^{(w)}-{z(e)}^{(w)})=0\f$,
`ON_UNBOUNDED_SIDE` if \f$ \Pi({p}^{(w)}-{z(e)}^{(w)})>0\f$ .
\pre `rt`.`dimension()` \f$ \geq2\f$.
\pre `dimension()` \f$ \geq2\f$.
*/
Bounded_side
side_of_power_circle(const Facet & f,
@ -395,7 +395,7 @@ In dimension 1, returns
`ON_BOUNDARY` if \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})=0\f$,
`ON_UNBOUNDED_SIDE` if \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})>0\f$ .
\pre `rt`.`dimension()` \f$ = 1\f$.
\pre `dimension()` \f$ = 1\f$.
*/
Bounded_side
side_of_power_segment(Cell_handle c, const Weighted_point & p)
@ -412,7 +412,7 @@ The default constructed
handle is returned if the triangulation is empty.
The optional argument `c` is a hint
specifying where to start the search.
\pre `c` is a cell of `rt`.
\pre `c` is a cell of the regular triangulation.
*/
Vertex_handle nearest_power_vertex(const Bare_point& p,
@ -461,7 +461,7 @@ Compute the conflicts with `p`.
among the internal or boundary facets of the conflict zone, and false otherwise.
\pre The starting cell (resp.\ facet) `c` must be in conflict with `p`.
\pre `rt`.`dimension()` \f$ \geq2\f$, and `c` is in conflict with `p`.
\pre `dimension()` \f$ \geq2\f$, and `c` is in conflict with `p`.
\return the `Triple` composed of the resulting output iterators.
@ -492,7 +492,7 @@ vertices_in_conflict(const Weighted_point& p, Cell_handle c, OutputIterator res)
Similar to `find_conflicts()`, but reports the vertices which are on the
boundary of the conflict zone of `p`, in the output iterator `res`.
Returns the resulting output iterator.
\pre `rt`.`dimension()` \f$ \geq2\f$, and `c` is a cell containing `p`.
\pre `dimension()` \f$ \geq2\f$, and `c` is a cell containing `p`.
*/
template <class OutputIterator>
@ -505,7 +505,7 @@ the interior of the conflict zone of `p`, in the output iterator
`res`. The vertices that are on the boundary of the conflict zone are
not reported.
Returns the resulting output iterator.
\pre `rt`.`dimension()` \f$ \geq2\f$, and `c` is a cell containing `p`.
\pre `dimension()` \f$ \geq2\f$, and `c` is a cell containing `p`.
*/
template <class OutputIterator>
@ -555,7 +555,7 @@ bool is_Gabriel(Vertex_handle v);
/*!
Returns the weighted circumcenter of the four vertices of c.
\pre `rt`.`dimension()`\f$ =3\f$ and `c` is not infinite.
\pre `dimension()`\f$ =3\f$ and `c` is not infinite.
*/
Bare_point dual(Cell_handle c) const;
@ -566,7 +566,7 @@ in dimension 3: either a segment, if the two cells incident to `f`
are finite, or a ray, if one of them is infinite;
in dimension 2: a point.
\pre `rt`.`dimension()` \f$ \geq2\f$ and `f` is not infinite.
\pre `dimension()` \f$ \geq2\f$ and `f` is not infinite.
*/
Object dual(Facet f) const;
@ -576,7 +576,7 @@ same as the previous method for facet `(c,i)`.
Object dual(Cell_handle c, int i) const;
/*!
Sends the set of duals to all the facets of `rt` into `os`.
Writes the set of duals to all the facets of the regular triangulation into `os`.
*/
template <class Stream> Stream & draw_dual(Stream & os);

View File

@ -1394,7 +1394,7 @@ The first cell incident to `vt` is the last valid value of the iterator.
It is followed by `segment_traverser_cells_end()`.
\pre `vs` and `vt` must be different vertices and neither can be the infinite vertex.
\pre `triangulation.dimension() >= 2`
\pre `t.dimension() >= 2`
*/
Segment_cell_iterator segment_traverser_cells_begin(Vertex_handle vs, Vertex_handle vt) const;
@ -1419,7 +1419,7 @@ The optional argument `hint` can reduce the time to construct the iterator
if it is geometrically close to `ps`.
\pre `ps` and `pt` must be different points.
\pre `triangulation.dimension() >= 2`. If the dimension is 2, both `ps` and `pt` must lie in the affine hull.
\pre `t.dimension() >= 2`. If the dimension is 2, both `ps` and `pt` must lie in the affine hull.
*/
Segment_cell_iterator segment_traverser_cells_begin(const Point& ps, const Point& pt, Cell_handle hint = Cell_handle()) const;
@ -1429,7 +1429,7 @@ returns the past-the-end iterator over the intersected cells.
This iterator cannot be dereferenced. It indicates when the `Segment_cell_iterator` has
passed the target.
\pre `triangulation.dimension() >= 2`
\pre `t.dimension() >= 2`
*/
Segment_cell_iterator segment_traverser_cells_end() const;
@ -1470,7 +1470,7 @@ The initial value of the iterator is `vs`.
The iterator remains valid until `vt` is passed.
\pre `vs` and `vt` must be different vertices and neither can be the infinite vertex.
\pre `triangulation.dimension() >= 2`
\pre `t.dimension() >= 2`
*/
Segment_simplex_iterator segment_traverser_simplices_begin(Vertex_handle vs, Vertex_handle vt) const;
@ -1486,7 +1486,7 @@ The iterator remains valid until the first simplex containing `pt` is passed.
The optional argument `hint` can reduce the time to construct the iterator if it is close to `ps`.
\pre `ps` and `pt` must be different points.
\pre `triangulation.dimension() >= 2`. If the dimension is 2, both `ps` and `pt` must lie in the affine hull.
\pre `t.dimension() >= 2`. If the dimension is 2, both `ps` and `pt` must lie in the affine hull.
*/
Segment_simplex_iterator segment_traverser_simplices_begin(const Point& ps, const Point& pt, Cell_handle hint = Cell_handle()) const;
@ -1496,7 +1496,7 @@ returns the past-the-end iterator over the intersected simplices.
This iterator cannot be dereferenced. It indicates when the `Segment_simplex_iterator` has
passed the target.
\pre `triangulation.dimension() >= 2`
\pre `t.dimension() >= 2`
*/
Segment_simplex_iterator segment_traverser_simplices_end() const;