mirror of https://github.com/CGAL/cgal
\link-less link fixes
This commit is contained in:
parent
0721be1a58
commit
cc9f36f0f3
|
|
@ -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)`
|
a new cell (resp. facet) with `v` as vertex. Then `v->set_point(p)`
|
||||||
is called and `v` is returned.
|
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>
|
template <class CellIt>
|
||||||
Vertex_handle insert_in_hole(Point p, CellIt cell_begin, CellIt cell_end,
|
Vertex_handle insert_in_hole(Point p, CellIt cell_begin, CellIt cell_end,
|
||||||
|
|
|
||||||
|
|
@ -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
|
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:
|
`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;
|
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
|
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);
|
TriangulationDataStructure_3& operator= (const TriangulationDataStructure_3 & tds1);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
`tds1` is copied into `tds`. If `v != Vertex_handle()`,
|
`tds1` is copied into `this`. If `v != Vertex_handle()`,
|
||||||
the vertex of `tds` corresponding to `v` is returned,
|
the vertex corresponding to `v` is returned,
|
||||||
otherwise `Vertex_handle()` is returned.
|
otherwise `Vertex_handle()` is returned.
|
||||||
\pre The optional argument `v` is a vertex of `tds1`.
|
\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()`.
|
\pre The optional argument `v` is a vertex of `tds_src` or is `Vertex_handle()`.
|
||||||
*/
|
*/
|
||||||
template <class TDS_src, class ConvertVertex, class ConvertCell>
|
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
|
thus this method runs in constant time. This method should be preferred to
|
||||||
`tds`=`tds1` or `tds`(`tds1`) when `tds1` is deleted after
|
copy assignment (`*this = tds1`) or copy construction (`*this(tds1)`)
|
||||||
that.
|
if `tds1` is deleted after the copy.
|
||||||
*/
|
*/
|
||||||
void swap(TriangulationDataStructure_3 & tds1);
|
void swap(TriangulationDataStructure_3 & tds1);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Deletes all cells and vertices. `tds` is reset as a triangulation
|
Deletes all cells and vertices. The triangulation data structure is reset as if
|
||||||
data structure constructed by the default constructor.
|
constructed by the default constructor.
|
||||||
*/
|
*/
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
|
@ -301,7 +301,7 @@ counted.
|
||||||
size_type number_of_vertices() const;
|
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;
|
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;
|
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;
|
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;
|
bool is_vertex(Vertex_handle v) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Tests whether `(c,i,j)` is an edge of `tds`. Answers `false` when
|
Tests whether `(c,i,j)` is an edge of the triangulation data structure.
|
||||||
`dimension()` \f$ <1\f$ .
|
Answers `false` when `dimension()` \f$ <1\f$ .
|
||||||
\pre \f$ i,j \in\{0,1,2,3\}\f$
|
\pre \f$ i,j \in\{0,1,2,3\}\f$
|
||||||
*/
|
*/
|
||||||
bool is_edge(Cell_handle c, int i, int j) const;
|
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`
|
it computes a cell `c` having this edge and the indices `i`
|
||||||
and `j` of the vertices `u` and `v`, in this order.
|
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;
|
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;
|
bool is_edge(Vertex_handle u, Vertex_handle v) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Tests whether `(c,i)` is a facet of `tds`. Answers `false` when
|
Tests whether `(c,i)` is a facet of of the triangulation data structure.
|
||||||
`dimension()` \f$ <2\f$ .
|
Answers `false` when `dimension()` \f$ <2\f$ .
|
||||||
\pre \f$ i \in\{0,1,2,3\}\f$
|
\pre \f$ i \in\{0,1,2,3\}\f$
|
||||||
*/
|
*/
|
||||||
bool is_facet(Cell_handle c, int i) const;
|
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`,
|
it computes a cell `c` having this facet and the indices `i`,
|
||||||
`j` and `k` of the vertices `u`, `v` and `w`, in
|
`j` and `k` of the vertices `u`, `v` and `w`, in
|
||||||
this order.
|
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;
|
Cell_handle & c, int & i, int & j, int & k) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Tests whether `c` is a cell of `tds`. Answers `false` when
|
Tests whether `c` is a cell of the triangulation data structure.
|
||||||
`dimension()` \f$ <3\f$ .
|
Answers `false` when `dimension()` \f$ <3\f$ .
|
||||||
*/
|
*/
|
||||||
bool is_cell(Cell_handle c) const;
|
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`
|
`c` is found, it computes the indices `i`, `j`, `k`
|
||||||
and `l` of the vertices `u`, `v`, `w` and `t` in
|
and `l` of the vertices `u`, `v`, `w` and `t` in
|
||||||
`c`, in this order.
|
`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
|
If `v` is a vertex of `f`, then `j` is the index of
|
||||||
`v` in the cell `f.first`, and the method returns `true`.
|
`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;
|
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;
|
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;
|
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;
|
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
|
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
|
`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.
|
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>
|
template <class CellIt>
|
||||||
Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end,
|
Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end,
|
||||||
Cell_handle begin, int i);
|
Cell_handle begin, int i);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Same as above, except that `newv` will be used as the new vertex, which
|
Same as above, except that `newv` will be used as the new vertex, which must have been allocated previously with, e.g., `create_vertex()`.
|
||||||
must have been allocated previously with e.g. `create_vertex`.
|
|
||||||
*/
|
*/
|
||||||
template <class CellIt>
|
template <class CellIt>
|
||||||
Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end,
|
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`
|
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)`
|
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).
|
(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
|
\anchor TDS3dim_down
|
||||||
\image html tds-dim_down.png
|
\image html tds-dim_down.png
|
||||||
|
|
@ -680,7 +680,7 @@ void decrease_dimension(Cell_handle c, int i);
|
||||||
\cgalAdvancedBegin
|
\cgalAdvancedBegin
|
||||||
Changes the orientation of all cells of the triangulation data structure.
|
Changes the orientation of all cells of the triangulation data structure.
|
||||||
\cgalAdvancedEnd
|
\cgalAdvancedEnd
|
||||||
\pre `tds`.`dimension()` \f$ \geq1\f$.
|
\pre `dimension()` \f$ \geq1\f$.
|
||||||
*/
|
*/
|
||||||
void reorient();
|
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;
|
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()`
|
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;
|
Cell_iterator raw_cells_begin() const;
|
||||||
|
|
||||||
|
|
@ -804,7 +804,7 @@ Cell_iterator raw_cells_begin() const;
|
||||||
Cell_iterator raw_cells_end() 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;
|
Facet_iterator facets_begin() const;
|
||||||
|
|
||||||
|
|
@ -814,7 +814,7 @@ Facet_iterator facets_begin() const;
|
||||||
Facet_iterator facets_end() 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;
|
Edge_iterator edges_begin() const;
|
||||||
|
|
||||||
|
|
@ -840,7 +840,7 @@ Vertex_iterator vertices_end() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Starts at an arbitrary cell incident to `e`.
|
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;
|
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`.
|
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;
|
Cell_circulator incident_cells(const Edge & e, Cell_handle start) const;
|
||||||
|
|
||||||
|
|
@ -865,9 +865,9 @@ const;
|
||||||
Starts at an arbitrary facet incident to `e`.
|
Starts at an arbitrary facet incident to `e`.
|
||||||
|
|
||||||
Only defined in dimension 3, though are defined also in dimension 2:
|
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;
|
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);
|
ostream& operator<< (ostream& os, const TriangulationDataStructure_3 & tds);
|
||||||
|
|
||||||
/*! \ingroup PkgIOTDS3
|
/*! \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
|
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
|
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
|
vertex and cell types. For each vertex `v_src` in `is`, the corresponding
|
||||||
|
|
|
||||||
|
|
@ -225,7 +225,7 @@ is called and `v` is returned.
|
||||||
|
|
||||||
If the hole contains interior vertices, each of them is hidden by the insertion
|
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.
|
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>
|
template <class CellIt>
|
||||||
Vertex_handle insert_in_hole(const Weighted_point& p,
|
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
|
intersect. For an
|
||||||
infinite cell this means that `p` does not satisfy either of the
|
infinite cell this means that `p` does not satisfy either of the
|
||||||
two previous conditions.
|
two previous conditions.
|
||||||
\pre `rt`.`dimension()` \f$ =3\f$.
|
\pre `dimension()` \f$ =3\f$.
|
||||||
*/
|
*/
|
||||||
Bounded_side
|
Bounded_side
|
||||||
side_of_power_sphere(Cell_handle c, const Weighted_point & p) const;
|
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_BOUNDARY` if \f$ \Pi({p}^{(w)}-{z(e)}^{(w)})=0\f$,
|
||||||
|
|
||||||
`ON_UNBOUNDED_SIDE` 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
|
Bounded_side
|
||||||
side_of_power_circle(const Facet & f,
|
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_BOUNDARY` if \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})=0\f$,
|
||||||
|
|
||||||
`ON_UNBOUNDED_SIDE` 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
|
Bounded_side
|
||||||
side_of_power_segment(Cell_handle c, const Weighted_point & p)
|
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.
|
handle is returned if the triangulation is empty.
|
||||||
The optional argument `c` is a hint
|
The optional argument `c` is a hint
|
||||||
specifying where to start the search.
|
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,
|
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.
|
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 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.
|
\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
|
Similar to `find_conflicts()`, but reports the vertices which are on the
|
||||||
boundary of the conflict zone of `p`, in the output iterator `res`.
|
boundary of the conflict zone of `p`, in the output iterator `res`.
|
||||||
Returns the resulting output iterator.
|
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>
|
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
|
`res`. The vertices that are on the boundary of the conflict zone are
|
||||||
not reported.
|
not reported.
|
||||||
Returns the resulting output iterator.
|
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>
|
template <class OutputIterator>
|
||||||
|
|
@ -555,7 +555,7 @@ bool is_Gabriel(Vertex_handle v);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns the weighted circumcenter of the four vertices of c.
|
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;
|
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;
|
are finite, or a ray, if one of them is infinite;
|
||||||
|
|
||||||
in dimension 2: a point.
|
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;
|
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;
|
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);
|
template <class Stream> Stream & draw_dual(Stream & os);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()`.
|
It is followed by `segment_traverser_cells_end()`.
|
||||||
|
|
||||||
\pre `vs` and `vt` must be different vertices and neither can be the infinite vertex.
|
\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;
|
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`.
|
if it is geometrically close to `ps`.
|
||||||
|
|
||||||
\pre `ps` and `pt` must be different points.
|
\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;
|
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
|
This iterator cannot be dereferenced. It indicates when the `Segment_cell_iterator` has
|
||||||
passed the target.
|
passed the target.
|
||||||
|
|
||||||
\pre `triangulation.dimension() >= 2`
|
\pre `t.dimension() >= 2`
|
||||||
*/
|
*/
|
||||||
Segment_cell_iterator segment_traverser_cells_end() const;
|
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.
|
The iterator remains valid until `vt` is passed.
|
||||||
|
|
||||||
\pre `vs` and `vt` must be different vertices and neither can be the infinite vertex.
|
\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;
|
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`.
|
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 `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;
|
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
|
This iterator cannot be dereferenced. It indicates when the `Segment_simplex_iterator` has
|
||||||
passed the target.
|
passed the target.
|
||||||
|
|
||||||
\pre `triangulation.dimension() >= 2`
|
\pre `t.dimension() >= 2`
|
||||||
*/
|
*/
|
||||||
Segment_simplex_iterator segment_traverser_simplices_end() const;
|
Segment_simplex_iterator segment_traverser_simplices_end() const;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue