diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h index 284c90b6038..b85c3461cb2 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h @@ -44,12 +44,14 @@ Type of input datum. typedef unspecified_type Datum; /*! -Point reference type returned by the function `point(const Shared_data&)`. It is convertible to the type `Point`. +Point reference type returned by the function \link reference_point `reference_point(const Shared_data&)`\endlink. +It is convertible to the type `Point`. */ typedef unspecified_type Point_reference; /*! -Datum reference type returned by the function `datum(const Shared_data&)`. It is convertible to the type `Datum`. +Datum reference type returned by the function \link datum `datum(const Shared_data&)`\endlink. +It is convertible to the type `Datum`. */ typedef unspecified_type Datum_reference; diff --git a/AABB_tree/include/CGAL/AABB_tree.h b/AABB_tree/include/CGAL/AABB_tree.h index fdc6a71817c..8476d671875 100644 --- a/AABB_tree/include/CGAL/AABB_tree.h +++ b/AABB_tree/include/CGAL/AABB_tree.h @@ -128,7 +128,7 @@ namespace CGAL { * @param first iterator over first primitive to insert * @param beyond past-the-end iterator * - * constructs an empty tree followed by a call to `insert(first,last,t...)`. + * constructs an empty tree followed by a call to \link insert(InputIterator, InputIterator, T&&...) `insert(first,last,t...)`\endlink. * The tree stays empty if the memory allocation is not successful. */ template @@ -140,7 +140,8 @@ namespace CGAL { /// This procedure is called implicitly at the first call to a query member function. /// An explicit call to `build()` must be made to ensure that the next call to /// a query function will not trigger the construction of the data structure. - /// A call to `AABBTraits::set_shared_data(t...)` is made using the internally stored traits. + /// A call to \link AABBTraits::set_shared_data `AABBTraits::set_shared_data(t...)`\endlink + // is made using the internally stored traits. /// This procedure has a complexity of \cgalBigO{n log(n)}, where \f$n\f$ is the number of /// primitives of the tree. template @@ -160,16 +161,17 @@ namespace CGAL { /// \name Operations ///@{ - /// is equivalent to calling `clear()`, `insert(first,last,t...)`, and `build()` + /// is equivalent to calling `clear()`, \link insert(InputIterator, InputIterator, T&&...) `insert(first,last,t...)`\endlink, + // and `build()` template void rebuild(ConstPrimitiveIterator first, ConstPrimitiveIterator beyond,T&& ...); - /// adds a sequence of primitives to the set of primitives of the AABB tree. /// `%InputIterator` is any iterator and the parameter pack `T` contains any types /// such that `Primitive` has a constructor with the following signature: /// `Primitive(%InputIterator, T...)`. If `Primitive` is a model of the concept - /// `AABBPrimitiveWithSharedData`, a call to `AABBTraits::set_shared_data(t...)` + /// `AABBPrimitiveWithSharedData`, a call to + /// \link AABBTraits::set_shared_data `AABBTraits::set_shared_data(t...)`\endlink /// is made using the internally stored traits. template void insert(InputIterator first, InputIterator beyond,T&& ...); diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromDoubleConstructible.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromDoubleConstructible.h index 6746fedcee2..e130fd73852 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromDoubleConstructible.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromDoubleConstructible.h @@ -7,7 +7,7 @@ A model of the concept `FromDoubleConstructible` is required to be constructible from the type `double`. In case the type is a model of `RealEmbeddable` too, for any double d -the identity: `d == CGAL::to_double(T(d))`, is guaranteed. +the identity: `d == ` \link CGAL::to_double ` CGAL::to_double(T(d))`\endlink, is guaranteed. */ diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h index 1a8f0f595f2..20f8ecbb12f 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h @@ -112,7 +112,7 @@ typedef Gt::Site_2 Site_2; the edge type. The `Edge(f,i)` is the edge common to faces `f` and `f.neighbor(i)`. It is also the edge joining the vertices -`vertex(cw(i))` and `vertex(ccw(i))` of `f`. +`f->vertex(cw(i))` and `f->vertex(ccw(i))` of `f`. \pre `i` must be `0`, `1` or `2`. */ typedef Data_structure::Edge Edge; diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt index f7c3e6ef4ce..6c26e4c1eba 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt @@ -1048,8 +1048,8 @@ not coincide with any existing arrangement vertex and does not lie on any edge. As mentioned in Section \ref arr_ssectraverse, it is possible to obtain the face containing an isolated vertex calling the member function `Arrangement_on_surface_2::Vertex::face()`. The member -function -`Arrangement_on_surface_2::remove_isolated_vertex(Vertex_handle v)` +function \link Arrangement_on_surface_2::remove_isolated_vertex() +`Arrangement_on_surface_2::remove_isolated_vertex(Vertex_handle v)`\endlink accepts a handle to an isolated vertex and removes it from the arrangement. diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h index 6c8bbdf153f..117c62aaf9c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--Merge_2.h @@ -18,7 +18,7 @@ public: /*! accepts two mergeable \f$x\f$-monotone curves `xc1` and `xc2` * and assigns `xc` with the merged curve. * - * \pre `are_mergeable_2`(`xc1`, `xc2`) is true. + * \pre \link AosTraits::AreMergeable_2 `are_mergeable_2`\endlink(`xc1`, `xc2`) is true. */ void merge(AosTraits::X_monotone_curve_2 xc1, AosTraits::X_monotone_curve_2 xc2, diff --git a/BGL/doc/BGL/BGL.txt b/BGL/doc/BGL/BGL.txt index f20f60bf20d..0655164a7ec 100644 --- a/BGL/doc/BGL/BGL.txt +++ b/BGL/doc/BGL/BGL.txt @@ -87,9 +87,9 @@ boost::graph_traits::edge_iterator ei; Algorithms obtain incidence information in graphs with the help of global functions such as: -- `std::pair vertices(const Graph& g);` to obtain an iterator range providing access to all the vertices, or -- `vertices_size_type num_vertices(const Graph&);` to obtain the number of vertices of a graph, or -- `vertex_descriptor source(edge_descriptor, const Graph&);` to obtain the source vertex of an edge. +- \ref VertexListGraph::vertices(const VertexListGraph&) "std::pair vertices(const Graph& g)" to obtain an iterator range providing access to all the vertices, or +- \link VertexListGraph::num_vertices(const VertexListGraph&) `vertices_size_type num_vertices(const Graph&)`\endlink to obtain the number of vertices of a graph, or +- \link IncidenceGraph `vertex_descriptor source(edge_descriptor, const Graph&)` \endlink to obtain the source vertex of an edge. Note, that the way we have written the types is a simplification; in reality, the signature of the first of the above functions is: diff --git a/BGL/include/CGAL/boost/graph/Euler_operations.h b/BGL/include/CGAL/boost/graph/Euler_operations.h index 74bf7bd3f2f..2f80a87ac01 100644 --- a/BGL/include/CGAL/boost/graph/Euler_operations.h +++ b/BGL/include/CGAL/boost/graph/Euler_operations.h @@ -1572,7 +1572,7 @@ does_satisfy_link_condition(typename boost::graph_traits::edge_descriptor * * \returns vertex `v1`. * \pre g must be a triangulated graph - * \pre `does_satisfy_link_condition(e,g) == true`. + * \pre \link CGAL::Euler::does_satisfy_link_condition `does_satisfy_link_condition`\endlink(e,g) == `true`. */ template typename boost::graph_traits::vertex_descriptor @@ -1690,7 +1690,7 @@ collapse_edge(typename boost::graph_traits::edge_descriptor e, * \returns vertex `v1`. * \pre This function requires `g` to be an oriented 2-manifold with or without boundaries. * Furthermore, the edge `v0v1` must satisfy the link condition, which guarantees that the surface mesh is also 2-manifold after the edge collapse. - * \pre `get(edge_is_constrained_map, v0v1)==false`. + * \pre `get(edge_is_constrained_map, v0v1) == false`. * \pre `v0` and `v1` are not both incident to a constrained edge. */ diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h index bc681d3bf38..5dd40f19b0b 100644 --- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h +++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h @@ -64,7 +64,7 @@ namespace Barycentric_coordinates { \return an output iterator to the element in the destination range, one past the last coordinate stored - \pre area_2(p0, p1, p2) != 0 + \pre \link BarycentricTraits_2::Compute_area_2 `area_2`\endlink(p0, p1, p2) != 0 */ template< typename OutIterator, @@ -133,7 +133,7 @@ namespace Barycentric_coordinates { \return a tuple `std::tuple` with the computed coordinates - \pre area_2(p0, p1, p2) != 0 + \pre \link BarycentricTraits_2::Compute_area_2 `area_2`\endlink(p0, p1, p2) != 0 */ template std::tuple< diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h index fa931a25d70..02e88928569 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h @@ -27,7 +27,7 @@ the source and target points of `xc`, respectively. If the target point of `xc2` and the source point of `xc1` coincide; then the source point of `xc2` and the target point of `xc1` become the source and target points of `xc`, respectively. -\pre `are_mergeable_2`(`xc1`, `xc2`) is true. +\pre \link ArrDirectionalTraits::AreMergeable_2 `are_mergeable_2`\endlink(`xc1`, `xc2`) is `true`. */ void operator()(ArrDirectionalTraits::X_monotone_curve_2 xc1, ArrDirectionalTraits::X_monotone_curve_2 xc2, diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h index 251d424bc02..efe5fefc244 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h @@ -149,7 +149,7 @@ template bool is_sewable(Dart_const_descriptor d1, Dart_const_d Links by \f$ \beta_i \f$ two by two all the darts of the orbit D1=\f$ \langle{}\f$\f$ \beta_1\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(`d1`) and D2=\f$ \langle{}\f$\f$ \beta_0\f$,\f$ \beta_2\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(`d2`) such that d2=f(d1), where f is the bijection between D1 and D2 satisfying: f(d1)=d2, and for all e \f$ \in \f$ D1, for all j \f$ \in \f$ {1,\f$ \ldots\f$,i-2,i+2,\f$ \ldots\f$,d}, f(\f$ \beta_j\f$(e))=\f$ \beta_j^{-1}\f$(f(e)). If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, when necessary, non void attributes are updated to ensure the validity of the generic map: for each j-cells c1 and c2 which are merged into one j-cell during the sew, the two associated attributes attr1 and attr2 are considered. If one attribute is `null_descriptor` and the other not, the non `null_descriptor` attribute is associated to all the darts of the resulting cell. When the two attributes are non `null_descriptor`, functor \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink is called on the two attributes attr1 and attr2. If set, the dynamic onmerge function of i-attributes is also called on attr1 and attr2. Then, the attribute attr1 is associated to all darts of the resulting j-cell. Finally, attribute attr2 is removed from the generic map. -\pre \link CombinatorialMap::is_sewable `is_sewable(d1,d2)`\endlink. +\pre \link CombinatorialMap::is_sewable `is_sewable`\endlink(`d1`,`d2`). \cgalAdvancedBegin If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==false`, non void attributes are not updated; thus the generic map can be no more valid after this operation. diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h index b7f985acac0..4c9a672d69b 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h @@ -467,14 +467,14 @@ const typename Attribute_type::type::Info & info(Dart_const_descriptor adart) /*! A shortcut for \link GenericMap::dart_of_attribute `dart_of_attribute`\endlink`(`\link GenericMap::attribute `attribute`\endlink`(adart))`. -\pre `attribute(adart)!=nullptr`. +\pre \link GenericMap::attribute `attribute`\endlink`(adart)!=nullptr`. */ template Dart_descriptor & dart(Dart_descriptor adart); /*! A shortcut for \link GenericMap::dart_of_attribute(typename Attribute_const_descriptor::type)const `dart_of_attribute`\endlink`(`\link GenericMap::attribute(Dart_const_descriptor)const `attribute`\endlink`(adart))` for const descriptor. -\pre `attribute(adart)!=nullptr`. +\pre \link GenericMap::attribute(Dart_const_descriptor)const `attribute`\endlink`(adart)!=nullptr`. */ template Dart_const_descriptor dart(Dart_const_descriptor adart) const; @@ -771,13 +771,13 @@ bool is_marked(Dart_const_descriptor d, size_type m) const; /*! Marks dart `d` for `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink and `d`\f$ \in \f$ `darts()`. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`) and `d`\f$ \in \f$ `darts()`. */ void mark(Dart_const_descriptor d, size_type m) const; /*! Unmarks dart `d` for the mark `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink and `d`\f$ \in \f$ `darts()`. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`) and `d`\f$ \in \f$ `darts()`. */ void unmark(Dart_const_descriptor d, size_type m) const; @@ -785,31 +785,31 @@ void unmark(Dart_const_descriptor d, size_type m) const; Inverse the mark `m` for all the darts of the generic map. All the marked darts become unmarked and all the unmarked darts become marked. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`). */ void negate_mark(size_type m) const; /*! Unmarks all the darts of the generic map for `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`). */ void unmark_all(size_type m) const; /*! Returns the number of marked darts for `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`). */ size_type number_of_marked_darts(size_type m) const; /*! Return the number of unmarked darts for `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`). */ size_type number_of_unmarked_darts(size_type m) const; /*! Frees mark `m`. -\pre \link GenericMap::is_reserved `is_reserved(m)`\endlink. +\pre \link GenericMap::is_reserved `is_reserved`\endlink(`m`). */ void free_mark(size_type m) const; @@ -820,7 +820,7 @@ void free_mark(size_type m) const; /*! Creates a combinatorial hexahedron (six combinatorial quadrangles 2-sewn together), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial hexahedron. -\pre `dimension` \f$\geq\f$ 2. +\pre \link GenericMap::dimension `dimension`\endlink \f$\geq\f$ 2. \sa `make_edge()` \sa `make_combinatorial_polygon()` @@ -831,7 +831,7 @@ Dart_descriptor make_combinatorial_hexahedron(); /*! Creates a combinatorial polygon of length `lg` (a cycle of `lg` edges), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial polygon. -\pre `dimension`\f$ \geq\f$ 1 and `lg`\f$ >\f$ 0. +\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 1 and `lg`\f$ >\f$ 0. \sa `make_edge()` \sa `make_combinatorial_tetrahedron()` @@ -841,7 +841,7 @@ Dart_descriptor make_combinatorial_polygon(unsigned int lg); /*! Creates a combinatorial tetrahedron (four combinatorial triangles 2-sewn together), and adds it in the generic map. Returns a descriptor on one dart of this combinatorial tetrahedron. -\pre `dimension`\f$ \geq\f$ 2. +\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 2. \sa `make_edge()` \sa `make_combinatorial_polygon()` @@ -851,7 +851,7 @@ Dart_descriptor make_combinatorial_tetrahedron(); /*! Creates an isolated edge (two darts sewn to represent one edge and two vertices) and adds it in the generic map. Returns a descriptor on one dart of this edge. -\pre `dimension`\f$ \geq\f$ 2. +\pre \link GenericMap::dimension `dimension`\endlink \f$ \geq\f$ 2. \sa `make_combinatorial_polygon()` \sa `make_combinatorial_tetrahedron()` @@ -908,7 +908,7 @@ Dart_descriptor insert_cell_0_in_cell_2(Dart_descriptor d); /*! Inserts a 1-cell in the 2-cell containing `d1` and `d2`. Returns `previous(d1)`, a descriptor on one dart belonging to the new 1-cell. -\pre `is_insertable_cell_1_in_cell_2(d1,d2)`. +\pre \link GenericMap::is_insertable_cell_1_in_cell_2 `is_insertable_cell_1_in_cell_2`\endlink(`d1`,`d2`). See examples for combinatorial map in \cgalFigureRef{fig_cmap_insert_edge} and for generalized map in \cgalFigureRef{fig_gmap_insert_edge}. @@ -930,7 +930,7 @@ Dart_descriptor insert_cell_1_in_cell_2(Dart_descriptor d1, Dart_descriptor d2); /*! Inserts a 1-cell between the 2-cell containing `d1` and the one containing `d2`. Returns `previous(d1)`, a descriptor on one dart belonging to the new 1-cell. -\pre `is_insertable_cell_1_between_two_cells_2(d1,d2)`. +\pre \link GenericMap::is_insertable_cell_1_between_two_cells_2 `is_insertable_cell_1_between_two_cells_2`\endlink(`d1`,`d2`). If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, call \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink(a,a') is called for all enabled i-attributes, for i>=2, with a the original 2-attribute associated with `d1` and a' the original 2-attribute associated with `d2`. If set, the dynamic on-merge function of i-attributes is also called on a and a'. @@ -957,7 +957,7 @@ Dart_descriptor insert_cell_1(Dart_descriptor d1, Dart_descriptor d2); /*! Inserts a 2-cell along the path of 1-cells containing darts given by the range `[afirst,alast)`. Returns `opposite<2>(*afirst)`, a descriptor on one dart belonging to the new 2-cell. -\pre `is_insertable_cell_2_in_cell_3(afirst,alast)`. +\pre \link GenericMap::is_insertable_cell_2_in_cell_3 `is_insertable_cell_2_in_cell_3`\endlink(`afirst`,`alast`). See examples for combinatorial map in \cgalFigureRef{fig_cmap_insert_facet} and for generalized map in \cgalFigureRef{fig_gmap_insert_facet}. @@ -1045,7 +1045,7 @@ bool is_removable(Dart_const_descriptor d); /*! Removes the i-cell containing `d`. Returns the number of darts removed from the generic map. -\pre `is_removable(d)`. +\pre \link GenericMap::is_removable `is_removable`\endlink(`d`). See examples in \cgalFigureRef{fig_cmap_insert_vertex}, \cgalFigureRef{fig_cmap_insert_edge} and \cgalFigureRef{fig_cmap_insert_facet}. diff --git a/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h b/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h index 21b63c5eb3a..2c63b765f4b 100644 --- a/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h +++ b/Constrained_triangulation_3/include/CGAL/Conforming_constrained_Delaunay_triangulation_3.h @@ -930,7 +930,7 @@ public: /*! * @brief same as `face_constraint_index(f)` with `f` being `Triangulation::Facet(ch, index)`. - * @pre `is_facet_constrained(f)` + * @pre \link Conforming_constrained_Delaunay_triangulation_3::is_facet_constrained `is_facet_constrained`\endlink(`f`) */ CDT_3_signed_index face_constraint_index(typename Triangulation::Cell_handle ch, int i) const { @@ -940,7 +940,7 @@ public: /*! * @brief returns the index of the constraint that constrains the * facet \p f - * @pre `is_facet_constrained(f)` + * @pre \link Conforming_constrained_Delaunay_triangulation_3::is_facet_constrained `is_facet_constrained`\endlink(`f`) */ CDT_3_signed_index face_constraint_index(const typename Triangulation::Facet& f) const { diff --git a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h index 16fa1e40eab..893231d371e 100644 --- a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h +++ b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h @@ -113,7 +113,7 @@ template bool is_sewable(Dart_const_descriptor d1, Dart_const_d Links by \f$ \alpha_i\f$ two by two all the darts of the orbit D1=\f$ \langle{}\f$\f$ \alpha_0\f$,\f$ \ldots\f$,\f$ \alpha_{i-2}\f$,\f$ \alpha_{i+2}\f$,\f$ \ldots\f$,\f$ \alpha_d\f$\f$ \rangle{}\f$(`d1`) and D2=\f$ \langle{}\f$\f$ \alpha_0\f$,\f$ \alpha_2\f$,\f$ \ldots\f$,\f$ \alpha_{i-2}\f$,\f$ \alpha_{i+2}\f$,\f$ \ldots\f$,\f$ \alpha_d\f$\f$ \rangle{}\f$(`d2`) such that d2=f(d1), where f is the bijection between D1 and D2 satisfying: f(d1)=d2, and for all e\f$ \in\f$ D1, for all j\f$ \in\f$ {1,\f$ \ldots\f$,i-2,i+2,\f$ \ldots\f$,d}, f(\f$ \alpha_j\f$(e))=\f$ \alpha_j\f$(f(e)). If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==true`, when necessary, non void attributes are updated to ensure the validity of the generic map: for each j-cells c1 and c2 which are merged into one j-cell during the sew, the two associated attributes attr1 and attr2 are considered. If one attribute is `null_descriptor` and the other not, the non `null_descriptor` attribute is associated to all the darts of the resulting cell. When the two attributes are non `null_descriptor`, functor \link CellAttribute::On_merge `Attribute_type::type::On_merge`\endlink is called on the two attributes attr1 and attr2. If set, the dynamic onmerge function of i-attributes is also called on attr1 and attr2. Then, the attribute attr1 is associated to all darts of the resulting j-cell. Finally, attribute attr2 is removed from the generic map. -\pre \link GeneralizedMap::is_sewable `is_sewable(d1,d2)`\endlink. +\pre \link GeneralizedMap::is_sewable `is_sewable`\endlink(`d1`,`d2`). \cgalAdvancedBegin If \link GenericMap::are_attributes_automatically_managed `are_attributes_automatically_managed()`\endlink`==false`, non void attributes are not updated; thus the generic map can be no more valid after this operation. diff --git a/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h b/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h index af63a8781c6..8d5bae50181 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h @@ -75,7 +75,7 @@ public: Point_d(double x0, double x1, ...); /*! introduces a point with coordinate set `[first,end)`. - \pre If `DimensionTag` is a fixed dimension, it matches `distance(first,end)`. + \pre If `DimensionTag` is a fixed dimension, it matches `std::distance(first,end)`. \tparam ForwardIterator has its value type that is convertible to `double`. */ template @@ -108,7 +108,7 @@ public: Vector_d(double x0, double x1, ...); /*! introduces a vector with coordinate set `[first,end)`. - \pre If `DimensionTag` is a fixed dimension, it matches `distance(first,end)`. + \pre If `DimensionTag` is a fixed dimension, it matches `std::distance(first,end)`. \tparam ForwardIterator has its value type that is convertible to `double`. */ template diff --git a/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h b/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h index 61cd6153cdf..216ca642860 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h @@ -63,7 +63,7 @@ public: Point_d(double x0, double x1, ...); /*! introduces a point with coordinate set `[first,end)`. - \pre If `DimensionTag` is a fixed dimension, it matches `distance(first,end)`. + \pre If `DimensionTag` is a fixed dimension, it matches `std::distance(first,end)`. \tparam InputIterator has its value type that is convertible to `double`. */ template @@ -98,7 +98,7 @@ public: Vector_d(double x0, double x1, ...); /*! introduces a vector with coordinate set `[first,end)`. - \pre If `DimensionTag` is a fixed dimension, it matches `distance(first,end)`. + \pre If `DimensionTag` is a fixed dimension, it matches `std::distance(first,end)`. \tparam InputIterator has its value type that is convertible to `double`. */ template diff --git a/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h b/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h index 5eaddde1125..d0642c2017b 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/predicates_d.h @@ -164,7 +164,7 @@ returns the relative position of point `p` to the sphere defined by `A = tuple [first,last)`. The order of the points of \f$ A\f$ does not matter. -\pre `orientation(first,last)` is not `ZERO`. +\pre \ref CGAL::orientation(ForwardIterator, ForwardIterator) "orientation(first,last)" is not `ZERO`. \tparam ForwardIterator has `Point_d` as value type. */ template Bounded_side diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h index ecc427a12b7..32b3c227c9c 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h @@ -19,7 +19,7 @@ the dimension of \f$ p\f$. int dimension(const Kernel_d::Point_d& p); /*! -returns the ith homogeneous coordinate of \f$ p\f$. +returns the i-th homogeneous coordinate of \f$ p\f$. \pre `0 <= i <= dimension(p)`. */ @@ -27,7 +27,7 @@ Kernel_d::RT homogeneous(const Kernel_d::Point_d& p, int i); /*! -returns the ith %Cartesian coordinate of \f$ p\f$. +returns the i-th %Cartesian coordinate of \f$ p\f$. \pre `0 <= i < dimension(p)`. */ diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h index b436ee1561a..32cfc217fb1 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h @@ -17,7 +17,7 @@ returns the relative position of point `p` to the sphere defined by `A = tuple [first,last)`. The order of the points of \f$ A\f$ does not matter. -\pre `orientation(first,last)` is not `ZERO`. +\pre \ref CGAL::orientation(ForwardIterator, ForwardIterator) "orientation(first,last)" is not `ZERO`. \tparam ForwardIterator has `Kernel_d::Point_d` as value type. */ template Bounded_side diff --git a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h index e0e523e5363..6b55ad30d40 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h @@ -66,7 +66,7 @@ Vector& c); returns the inverse matrix of `M`. More precisely, \f$ 1/D\f$ times the matrix returned is the inverse of `M`. -\pre `determinant(M) != 0`. +\pre \ref determinant(const Matrix&) "determinant(M)"` != 0`. \pre \f$ M\f$ is square. */ diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h index b4ecaab30d8..12fdea95f9b 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h @@ -172,7 +172,8 @@ intersection between an object of type `Segment_3`, `Ray_3` or `Intersection operator()(Ray_3 r)` `Intersection operator()(Line_3 l)` -\pre do_intersect_surface(s/r/l) == true + +\pre `do_intersect_surface_object(s/r/l)` == `true` */ typedef unspecified_type Construct_intersection; diff --git a/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h b/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h index 25df26141eb..858e6df5ba7 100644 --- a/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h +++ b/Nef_2/doc/Nef_2/CGAL/Nef_polyhedron_2.h @@ -432,16 +432,15 @@ bool is_isolated(Vertex_const_handle v) ; returns one halfedge with source `v`. It's the starting point for the circular iteration over the halfedges with source `v`. -\pre `!is_isolated(v)`. - +\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`. */ Halfedge_const_handle first_out_edge(Vertex_const_handle v) ; /*! returns the halfedge with source `v` that is the last -in the circular iteration before encountering `first_out_edge(v)` -again. \pre `!is_isolated(v)`. +in the circular iteration before encountering `first_out_edge(v)` again. +\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`. */ Halfedge_const_handle last_out_edge(Vertex_const_handle v) ; @@ -482,7 +481,8 @@ Face_const_handle face(Halfedge_const_handle e) ; /*! -returns the face incident to `v`. \pre `is_isolated(v)`. +returns the face incident to `v`. +\pre `!`\ref is_isolated(Vertex_const_handle) "is_isolated" `(v)`. */ Face_const_handle face(Vertex_const_handle v) ; @@ -733,13 +733,15 @@ bool is_standard(Vertex_const_handle v) ; /*! returns the standard -point that is the embedding of `v`. \pre `E.is_standard(v)`. +point that is the embedding of `v`. +\pre \ref is_standard(Vertex_const_handle v) "is_standard"(`v`). */ Point point(Vertex_const_handle v) ; /*! returns the ray defining -the non-standard point on the frame. \pre `!E.is_standard(v)`. +the non-standard point on the frame. +\pre !\ref is_standard(Vertex_const_handle v) "is_standard"(`v`). */ Ray ray(Vertex_const_handle v) ; diff --git a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h index 1311b83a7d5..69914efc037 100644 --- a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h +++ b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h @@ -191,21 +191,20 @@ returns `true` iff bool is_standard(const Point_2& p) ; /*! -returns -the standard point represented by `p`. \pre `K.is_standard(p)`. +returns the standard point represented by `p`. +\pre \ref is_standard(const Point_2& p) "is_standard"(`p`). */ Standard_point_2 standard_point(const Point_2& p) ; /*! -returns -the oriented line representing the bundle of rays defining `p`. -\pre `!K.is_standard(p)`. +returns the oriented line representing the bundle of rays defining `p`. +\pre ! \ref is_standard(const Point_2& p) "is_standard"(`p`). */ Standard_line_2 standard_line(const Point_2& p) ; /*! -a ray -defining `p`. \pre `!K.is_standard(p)`. +a ray defining `p`. +\pre ! \ref is_standard(const Point_2& p) "is_standard"(`p`). */ Standard_ray_2 standard_ray(const Point_2& p) ; diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h index daec23b7c5d..3bda0596ca6 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h @@ -1276,7 +1276,7 @@ Cell_handle start, int f) const; /*! Copies the `Cell_handle`s of all cells incident to `v` to the output iterator `cells`. Returns the resulting output iterator. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`) */ template OutputIterator @@ -1286,7 +1286,7 @@ incident_cells(Vertex_handle v, OutputIterator cells) const; Copies the `Facet`s incident to `v` to the output iterator `facets`. Returns the resulting output iterator. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`) */ template OutputIterator @@ -1296,7 +1296,7 @@ incident_facets(Vertex_handle v, OutputIterator facets) const; Copies the `Edge`s incident to `v` to the output iterator `edges`. Returns the resulting output iterator. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`) */ template OutputIterator @@ -1305,7 +1305,7 @@ incident_edges(Vertex_handle v, OutputIterator edges) const; /*! Copies the `Vertex_handle`s of all vertices adjacent to `v` to the output iterator `vertices`. Returns the resulting output iterator. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`) */ template OutputIterator @@ -1313,7 +1313,7 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const; /*! Returns the degree of `v`, that is, the number of adjacent vertices. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `t`.`is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \ref CGAL::Periodic_3_triangulation_3::is_vertex "is_vertex"(`v`) */ size_type degree(Vertex_handle v) const; diff --git a/Polygon/include/CGAL/Polygon_2_algorithms.h b/Polygon/include/CGAL/Polygon_2_algorithms.h index 2a5997f821d..4bd6f9bdbdd 100644 --- a/Polygon/include/CGAL/Polygon_2_algorithms.h +++ b/Polygon/include/CGAL/Polygon_2_algorithms.h @@ -314,7 +314,7 @@ Bounded_side bounded_side_2(ForwardIterator first, const PolygonTraits& traits); /// Computes if a polygon is clockwise or counterclockwise oriented. -/// \pre `is_simple_2(first, last, traits);` +/// \pre \link CGAL::is_simple_2 `is_simple_2`\endlink(`first`, `last`, `traits`) /// /// \tparam Traits is a model of the concept /// `PolygonTraits_2`. diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h index 60829f72623..1cd739fed52 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/fair.h @@ -118,7 +118,7 @@ bool fair(TriangleMesh& tmesh, @return `true` if fairing is successful, otherwise no vertices are relocated. - @pre `is_triangle_mesh(tmesh)` + @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink @warning This function involves linear algebra, that is computed using non-exact, floating-point arithmetic. diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h index e0ab99d02bb..717411b9c2d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/intersection.h @@ -337,8 +337,8 @@ struct Throw_at_first_output { * reports all the pairs of faces intersecting between two triangulated surface meshes. * This function depends on the package \ref PkgBoxIntersectionD. * - * \pre `CGAL::is_triangle_mesh(tm1)` - * \pre `CGAL::is_triangle_mesh(tm2)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam FaceRange range of `boost::graph_traits::%face_descriptor`, @@ -475,7 +475,7 @@ compute_face_face_intersection(const FaceRange& face_range1, * \attention If a polyline vertex intersects a face, the intersection will * be reported twice (or more if it is on a vertex, edge, or point). * - * \pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam FaceRange range of `boost::graph_traits::%face_descriptor`, @@ -607,7 +607,7 @@ compute_face_polyline_intersection(const FaceRange& face_range, * \attention If a polyline vertex intersects a face, the intersection will * be reported twice (even more if it is on a vertex, edge, or point). * - * \pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam FaceRange range of `boost::graph_traits::%face_descriptor`, @@ -939,8 +939,8 @@ compute_polylines_polylines_intersection(const PolylineRange& polylines1, * reports all the pairs of faces intersecting between two triangulated surface meshes. * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tm1)` - * @pre `CGAL::is_triangle_mesh(tm2)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam OutputIterator a model of `OutputIterator` holding objects of type @@ -998,7 +998,7 @@ compute_face_face_intersection(const TriangleMesh& tm1, * \attention If a polyline vertex intersects a face or another polyline, the intersection will * be reported twice (even more if it is on a vertex, edge, or point). * - * \pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam Polyline a `RandomAccessRange` of points. The point type of the range must be the @@ -1223,10 +1223,10 @@ bool do_intersect(const Polyline& polyline1, * In that case, the meshes must be closed. * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tm1)` - * @pre `CGAL::is_triangle_mesh(tm2)` - * @pre `!do_overlap_test_of_bounded_sides || CGAL::is_closed(tm1)` - * @pre `!do_overlap_test_of_bounded_sides || CGAL::is_closed(tm2)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm1)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm2)` \endlink + * @pre `!do_overlap_test_of_bounded_sides` || \link CGAL::is_closed `CGAL::is_closed(tm1)` \endlink + * @pre `!do_overlap_test_of_bounded_sides` || \link CGAL::is_closed `CGAL::is_closed(tm2)` \endlink * * @tparam TriangleMesh a model of `FaceListGraph` * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" for `tm1` @@ -1323,7 +1323,7 @@ bool do_intersect(const TriangleMesh& tm1, * and `false` otherwise. * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam PolylineRange a `RandomAccessRange` of `RandomAccessRange` of points. The point type of the range must be the @@ -1390,7 +1390,7 @@ bool do_intersect(const TriangleMesh& tm, * returns `true` if there exists a face of `tm` and a segment of `polyline` which intersect, and `false` otherwise. * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * \tparam TriangleMesh a model of `FaceListGraph` * \tparam Polyline a `RandomAccessRange` of points. The point type of the range must be the diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h index 0ee5e95fc40..67450783a00 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/orientation.h @@ -149,8 +149,8 @@ namespace internal{ * The normal vector to each face is chosen pointing on the side of the face * where its sequence of vertices is seen counterclockwise. * - * @pre `CGAL::is_closed(tm)` - * @pre `CGAL::is_triangle_mesh(tm)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * @pre If `tm` contains several connected components, they are oriented consistently. * In other words, the answer to this predicate would be the same for each * isolated connected component. @@ -374,7 +374,7 @@ void reverse_face_orientations(const FaceRange& face_range, PolygonMesh& pmesh) * @param tm a closed triangulated surface mesh * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * -* \pre `CGAL::is_closed(tm)` +* @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink * * \cgalNamedParamsBegin * \cgalParamNBegin{vertex_point_map} @@ -700,7 +700,7 @@ void set_cc_intersecting_pairs( * @param volume_id_map the property map filled by this function with indices of volume components associated to the faces of `tm` * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * - * @pre `CGAL::is_closed(tm)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink * * \cgalNamedParamsBegin * \cgalParamNBegin{vertex_point_map} @@ -1244,7 +1244,7 @@ volume_connected_components(const TriangleMesh& tm, * @param tm a closed triangulated surface mesh * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * - * @pre `CGAL::is_closed(tm)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink * * @attention if `tm` is self-intersecting the behavior of this function is undefined. * @@ -1307,7 +1307,7 @@ bool does_bound_a_volume(const TriangleMesh& tm, const NamedParameters& np = par * @param tm a closed triangulated surface mesh * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * - * @pre `CGAL::is_closed(tm)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tm)` \endlink * * \cgalNamedParamsBegin * \cgalParamNBegin{outward_orientation} diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h index 38fe4ff0608..0a29099ffc7 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/refine.h @@ -65,7 +65,7 @@ namespace Polygon_mesh_processing { @return pair of `faces_out` and `vertices_out` - \pre `is_triangle_mesh(tmesh)` + @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink @todo current algorithm iterates 10 times at most, since (I guess) there is no termination proof. */ diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h index 35c3104dd7e..1f31a9eea89 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h @@ -562,7 +562,7 @@ struct Filter_wrapper_for_cap_needle_removal::%face_descriptor` as value type @@ -1371,7 +1371,7 @@ remove_a_border_edge(typename boost::graph_traits::edge_descriptor // removes the degenerate edges from a triangulated surface mesh. // An edge is considered degenerate if its two extremities share the same location. // -// @pre `CGAL::is_triangle_mesh(tmesh)` +// @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink // // @tparam TriangleMesh a model of `FaceListGraph` and `MutableFaceGraph` // @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" @@ -1926,7 +1926,7 @@ bool remove_degenerate_edges(TriangleMesh& tmesh, // A face is considered degenerate if two of its vertices share the same location, // or more generally if all its vertices are collinear. // -// @pre `CGAL::is_triangle_mesh(tmesh)` +// @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink // // @tparam TriangleMesh a model of `FaceListGraph` and `MutableFaceGraph` // @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h index 183fc299f70..9b7c12e70f5 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h @@ -523,7 +523,7 @@ self_intersections_impl(const FaceRange& face_range, * * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * * @tparam ConcurrencyTag enables sequential versus parallel algorithm. * Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`. @@ -591,7 +591,7 @@ self_intersections(const FaceRange& face_range, * * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * * @tparam ConcurrencyTag enables sequential versus parallel algorithm. * Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`. @@ -656,7 +656,7 @@ self_intersections(const TriangleMesh& tmesh, * * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tm)` \endlink * * @tparam ConcurrencyTag enables sequential versus parallel algorithm. * Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`. @@ -727,7 +727,7 @@ bool does_self_intersect(const FaceRange& face_range, * * This function depends on the package \ref PkgBoxIntersectionD. * - * @pre `CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * * @tparam ConcurrencyTag enables sequential versus parallel algorithm. * Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`. diff --git a/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h b/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h index 7514f945bae..2963b6b995e 100644 --- a/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h +++ b/Polygon_mesh_processing/include/CGAL/Side_of_triangle_mesh.h @@ -124,7 +124,8 @@ public: * @param vpmap the property map with the points associated to the vertices of `tmesh` * @param gt an instance of the geometric traits class * - * @pre `CGAL::is_closed(tmesh) && CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tmesh)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink */ Side_of_triangle_mesh(const TriangleMesh& tmesh, VertexPointMap vpmap, @@ -150,7 +151,8 @@ public: * @param tmesh the triangulated surface mesh bounding the domain to be tested * @param gt an instance of the geometric traits class * - * @pre `CGAL::is_closed(tmesh) && CGAL::is_triangle_mesh(tmesh)` + * @pre \link CGAL::is_closed `CGAL::is_closed(tmesh)` \endlink + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink */ Side_of_triangle_mesh(const TriangleMesh& tmesh, const GeomTraits& gt=GeomTraits()) diff --git a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h index 0015f923df9..6579411b243 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h @@ -532,7 +532,7 @@ bool is_used(size_type i) const; /*! returns the element at pos `i` in the container. -\pre `is_used(i) == true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()` +\pre \link is_used(size_type)const `is_used(i)`\endlink`== true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()` */ const T& operator[] (size_type i) const; @@ -545,7 +545,7 @@ const T& operator[] (size_type i) const; /*! returns the element at pos `i` in the container. -\pre `is_used(i) == true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()` +\pre \link is_used(size_type)const `is_used(i)`\endlink`== true` and \f$ 0 \leq \f$ `i` \f$ < \f$ `capacity()` */ T& operator[] (size_type i); diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h index 879c81bdcc0..e5d5f1fd47a 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h @@ -239,14 +239,14 @@ Point_2 target_of_supporting_site(unsigned int i); /*! Returns the source point of the `i`-th crossing site of the this site. -\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`. +\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`. */ Point_2 source_of_crossing_site(unsigned int i); /*! Returns the target point of the `i`-th supporting site of the this site. -\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`. +\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`. */ Point_2 target_of_crossing_site(unsigned int i); diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h index e6605fbcdac..19db7d0c6da 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h @@ -234,14 +234,14 @@ Point_handle target_of_supporting_site(unsigned int i); /*! Returns a handle to the source point of the `i`-th crossing site of the this site. -\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`. +\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`. */ Point_handle source_of_crossing_site(unsigned int i); /*! Returns a handle to the target point of the `i`-th supporting site of the this site. -\pre `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`. +\pre `is_segment()` must be `true`, \link is_input(unsigned int) `is_input(i)`\endlink must be `false` and `i` must either be `0` or `1`. */ Point_handle target_of_crossing_site(unsigned int i); diff --git a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h index 0cdfedfcb1c..8f716bb6f0e 100644 --- a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h @@ -64,7 +64,7 @@ Geom_traits::Iso_rectangle_2 bbox(); /*! returns the vector field value and the local density. -\pre `is_in_domain(p)` must be `true`. +\pre \link is_in_domain `is_in_domain(p)`\endlink must be `true`. */ std::pair get_field(Point_2 p); @@ -76,7 +76,7 @@ bool is_in_domain(Point_2 p); /*! returns the integration step at the point `p`, i.e., the distance between `p` and the next point in the polyline. -\pre `is_in_domain(p)` must be `true`. +\pre \link is_in_domain `is_in_domain(p)`\endlink must be `true`. */ FT get_integration_step(Point_2 p); diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index 7b36a1ce486..e3682606748 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -617,7 +617,7 @@ public: * * @param vd a control vertex * @param t translation vector - * \pre `is_control_vertex(vd)` + * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink */ template void translate(vertex_descriptor vd, const Vect& t) @@ -662,7 +662,7 @@ public: * @param vd a control vertex * @param to_rotation_center the vector to translate the origin to the center of the rotation * @param quat quaternion of the rotation - * \pre `is_control_vertex(vd)` + * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink * \pre `quad` represents a rotation */ template @@ -709,7 +709,7 @@ public: /** * Returns the target position of a control vertex. * \param vd a control vertex - * \pre `is_control_vertex(vd)` + * \pre \link is_control_vertex `is_control_vertex(vd)`\endlink */ const Point& target_position(vertex_descriptor vd) { diff --git a/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h b/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h index 98af65ee5b2..f056eb09250 100644 --- a/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h +++ b/Surface_mesh_segmentation/include/CGAL/mesh_segmentation.h @@ -66,7 +66,7 @@ sdf_values( const TriangleMesh& triangle_mesh, * It is possible to compute raw SDF values (without postprocessing). In such a case, * -1 is used to indicate when no SDF value could be computed for a facet. * - * @pre `is_triangle_mesh(triangle_mesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * * @tparam TriangleMesh a model of `FaceListGraph` * @tparam SDFPropertyMap a `ReadWritePropertyMap` with `boost::graph_traits::%face_descriptor` as key and `double` as value type @@ -119,7 +119,7 @@ sdf_values( const TriangleMesh& triangle_mesh, * * See the section \ref Surface_mesh_segmentationPostprocessing for more details. * - * @pre `is_triangle_mesh(triangle_mesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * @pre Raw values should be greater or equal to 0. -1 indicates when no value could be computed * * @tparam TriangleMesh a model of `FaceListGraph` @@ -157,7 +157,7 @@ sdf_values_postprocessing(const TriangleMesh& triangle_mesh, * \note There is no direct relation between the parameter `number_of_clusters` * and the final number of segments after segmentation. However, setting a large number of clusters will result in a detailed segmentation of the mesh with a large number of segments. * - * @pre `is_triangle_mesh(triangle_mesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * @pre `number_of_clusters > 0` * * @tparam TriangleMesh a model of `FaceListGraph` @@ -253,7 +253,7 @@ segmentation_via_sdf_values(const TriangleMesh& triangle_mesh, * it is more efficient to first compute the SDF values using `CGAL::sdf_values()` and use them in different calls to * `CGAL::segmentation_from_sdf_values()`. * - * @pre `is_triangle_mesh(triangle_mesh)` + * @pre \link CGAL::is_triangle_mesh `CGAL::is_triangle_mesh(tmesh)` \endlink * @pre `number_of_clusters > 0` * * @tparam TriangleMesh a model of `FaceListGraph` diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h index bd7ead4deda..c49cb979888 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Path_on_surface.h @@ -43,7 +43,7 @@ namespace Surface_mesh_topology { bool can_be_pushed(halfedge_descriptor hd, bool flip=false) const; /// adds `hd` at the end of this path. If `flip` is true, the opposite of `hd` is considered. - /// @pre `can_be_pushed(hd)` + /// @pre \link can_be_pushed `can_be_pushed(hd)`\endlink void push_back(halfedge_descriptor hd, bool flip=false); /// returns `true` iff the dart/halfedge with index `i` can be added at the end of this path. @@ -52,7 +52,7 @@ namespace Surface_mesh_topology { /// adds the dart/halfedge with index `i` at the end of this path. /// If Mesh is a `Polyhedron_3`, takes time proportional to the number of halfedges. - /// @pre `can_be_pushed_by_index(i)` + /// @pre \link can_be_pushed_by_index `can_be_pushed_by_index(i)`\endlink void push_back_by_index(std::size_t i); /// adds successively all dart/halfedges in `l` (a sequence of indices), at the end of the path. diff --git a/Surface_mesh_topology/include/CGAL/Path_on_surface.h b/Surface_mesh_topology/include/CGAL/Path_on_surface.h index a02e19063d8..66d9186c990 100644 --- a/Surface_mesh_topology/include/CGAL/Path_on_surface.h +++ b/Surface_mesh_topology/include/CGAL/Path_on_surface.h @@ -292,7 +292,7 @@ public: } /// Add the given dart at the end of this path. - /// @pre can_be_pushed(dh) + /// @pre \link can_be_pushed `can_be_pushed(dh)`\endlink void push_back(Dart_const_descriptor dh, bool flip=false, bool update_isclosed=true) { diff --git a/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h b/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h index f56db8e5cb9..4405c055908 100644 --- a/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h +++ b/Surface_mesh_topology/include/CGAL/Surface_mesh_topology/internal/Path_on_surface_with_rle.h @@ -447,7 +447,7 @@ public: } /// Add the given dart at the end of this path. - /// @pre can_be_pushed(dh) + /// @pre \link can_be_pushed `can_be_pushed(dh)`\endlink void push_back(Dart_const_descriptor dh, bool update_isclosed=true) { CGAL_assertion(dh!=Map::null_descriptor); diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h index eb277fce941..8ec09112946 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h @@ -234,7 +234,7 @@ Finite_facets_iterator finite_facets_end() const; Copies the `Cell_handle`s of all cells incident to `v` to the output iterator `cells`. If `t.dimension() < 3`, then do nothing. Returns the resulting output iterator. -\pre `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `v != Vertex_handle()` and \link is_vertex `is_vertex(v->point())`\endlink. */ template OutputIterator @@ -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 Vertex_handle insert_in_hole(Point p, CellIt cell_begin, CellIt cell_end, diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h index 752093512af..3d8a5dda8a6 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h @@ -116,9 +116,9 @@ typedef unspecified_type Vertex_handle; 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 `CGAL::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 -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; @@ -528,7 +528,7 @@ void flip_flippable(Cell_handle c, int i); Creates a new vertex, inserts it in cell `c` and returns its handle. The cell `c` is split into four new cells, each of these cells being formed by the new vertex and a facet of `c`. -\pre `tds`.`dimension()` \f$ = 3\f$ and `c` is a cell of `tds`. +\pre `dimension()` \f$ = 3\f$ and \link is_cell `is_cell(c)`\endlink. */ Vertex_handle insert_in_cell(Cell_handle c); @@ -536,14 +536,14 @@ Vertex_handle insert_in_cell(Cell_handle c); Creates a new vertex, inserts it in facet `f` and returns its handle. In dimension 3, the two incident cells are split into 3 new cells; in dimension 2, the facet is split into 3 facets. -\pre `tds`.`dimension()` \f$ \geq2\f$ and `f` is a facet of `tds`. +\pre `dimension()` \f$ \geq2\f$ and \link is_facet(Cell_handle, int)const `is_facet(f.first, f.second)`\endlink. */ Vertex_handle insert_in_facet(const Facet & f); /*! Creates a new vertex, inserts it in facet `i` of `c` and returns its handle. -\pre `tds`.`dimension()` \f$ \geq2\f$, \f$ i \in\{0,1,2,3\}\f$ in dimension 3, \f$ i=3\f$ in dimension 2 and `(c,i)` is a facet of `tds`. +\pre `dimension()` \f$ \geq2\f$, \f$ i \in\{0,1,2,3\}\f$ in dimension 3, \f$ i=3\f$ in dimension 2 and \link is_facet(Cell_handle, int)const `is_facet(c, i)`\endlink. */ Vertex_handle insert_in_facet(Cell_handle c, int i); @@ -553,14 +553,14 @@ In dimension 3, all the incident cells are split into 2 new cells; in dimension 2, the 2 incident facets are split into 2 new facets; in dimension 1, the edge is split into 2 new edges. -\pre `tds`.`dimension()` \f$ \geq1\f$ and `e` is an edge of `tds`. +\pre `dimension()` \f$ \geq1\f$ and \link is_edge(Cell_handle, int,int)const `is_edge(e.first, e.second, e.third)`\endlink. */ Vertex_handle insert_in_edge(Edge e); /*! Creates a new vertex, inserts it in edge \f$ (i,j)\f$ of `c` and returns its handle. -\pre `tds`.`dimension()` \f$ \geq1\f$. \f$ i\neq j\f$, \f$ i,j \in\{0,1,2,3\}\f$ in dimension 3, \f$ i,j \in\{0,1,2\}\f$ in dimension 2, \f$ i,j \in\{0,1\}\f$ in dimension 1 and `(c,i,j)` is an edge of `tds`. +\pre `dimension()` \f$ \geq1\f$. \f$ i\neq j\f$, \f$ i,j \in\{0,1,2,3\}\f$ in dimension 3, \f$ i,j \in\{0,1,2\}\f$ in dimension 2, \f$ i,j \in\{0,1\}\f$ in dimension 1 and \link is_edge(Cell_handle, int,int)const `is_edge(c,i,j)`\endlink. */ Vertex_handle insert_in_edge(Cell_handle c, int i, int j); @@ -582,8 +582,7 @@ This method can be used to insert the first two vertices in an empty triangulation. A handle to `v` is returned. -\pre `tds`.`dimension()` \f$ = d < 3\f$. When `tds`.`number_of_vertices()` \f$ >0\f$, \f$ star \neq\f$ `Vertex_handle()` and `star` is a vertex of `tds`. - +\pre `dimension()` \f$ = d < 3\f$. When `number_of_vertices()` \f$ >0\f$, \f$ star \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(star)`\endlink. \anchor TDS3figtopoinsert_outside_affine_hull \image html topo-insert_outside_affine_hull.png "insert_increase_dimension (1-dimensional case)." @@ -603,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 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 Vertex_handle insert_in_hole(CellIt cell_begin, CellIt cell_end, @@ -627,7 +625,8 @@ This operation is the reciprocal of `insert_increase_dimension()`. It transforms a triangulation of the sphere \f$ S^d\f$ of \f$ \mathbb{R}^{d+1}\f$ into the triangulation of the sphere \f$ S^{d-1}\f$ of \f$ \mathbb{R}^{d}\f$ by removing the vertex `v`. Delete the cells incident to `w`, keep the others. -\pre `tds`.`dimension()` \f$ = d \geq-1\f$. `tds`.`degree(v)` \f$ =\f$ `degree(w)` \f$ =\f$ `tds`.`number_of_vertices()` \f$ -1\f$. +\pre `dimension()` \f$ = d \geq-1\f$. +\pre \link degree `degree(v)`\endlink \f$ =\f$ \link degree `degree(w)`\endlink \f$ =\f$ `number_of_vertices()` \f$ -1\f$. */ void remove_decrease_dimension(Vertex_handle v, Vertex_handle w = v); @@ -635,10 +634,10 @@ void remove_decrease_dimension(Vertex_handle v, Vertex_handle w = v); /*! Removes `v`. The incident simplices of maximal dimension incident to `v` are replaced by a single simplex of the same dimension. This -operation is exactly the reciprocal to `tds`.`insert_in_cell(v)` in -dimension 3, `tds`.`insert_in_facet(v)` in dimension 2, and -`tds`.`insert_in_edge(v)` in dimension 1. -\pre `tds`.`degree(v)` \f$ =\f$ `tds`.`dimension()+1`. +operation is exactly the reciprocal to `insert_in_cell(v)` in +dimension 3, `insert_in_facet(v)` in dimension 2, and +`insert_in_edge(v)` in dimension 1. +\pre \link degree `degree(v)`\endlink \f$ =\f$ `dimension()+1`. */ Cell_handle remove_from_maximal_dimension_simplex(Vertex_handle v); @@ -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(); @@ -746,7 +746,7 @@ Cell_handle n2, Cell_handle n3); \cgalAdvancedBegin Removes the vertex from the triangulation data structure. \cgalAdvancedEnd -\pre The vertex is a vertex of `tds`. +\pre \link is_vertex `is_vertex(v)`\endlink. */ void delete_vertex( Vertex_handle v ); @@ -755,7 +755,7 @@ void delete_vertex( Vertex_handle v ); \cgalAdvancedBegin Removes the cell from the triangulation data structure. \cgalAdvancedEnd -\pre The cell is a cell of `tds`. +\pre \link is_cell(Cell_handle)const `is_cell(c)`\endlink. */ void delete_cell( Cell_handle c ); @@ -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; @@ -875,7 +875,7 @@ Facet_circulator incident_facets(Edge e) const; As above for edge `(i,j)` of `c`. 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. */ Facet_circulator incident_facets(Cell_handle c, int i, int j) const; @@ -883,7 +883,7 @@ Facet_circulator incident_facets(Cell_handle c, int i, int j) const; Starts at facet `start`. 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 `start` is incident to `e`. */ @@ -893,7 +893,7 @@ Facet_circulator incident_facets(Edge e, Facet start) const; Starts at facet of index `f` in `start`. 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. */ Facet_circulator incident_facets(Edge e, Cell_handle start, int f) const; @@ -901,7 +901,7 @@ Facet_circulator incident_facets(Edge e, Cell_handle start, int f) const; As above for edge `(i,j)` of `c`. 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. */ Facet_circulator incident_facets(Cell_handle c, int i, int j, Facet start) const; @@ -910,7 +910,7 @@ Facet start) const; As above for edge `(i,j)` of `c` and facet `(start,f)`. 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. */ Facet_circulator incident_facets(Cell_handle c, int i, int j, Cell_handle start, int f) const; @@ -924,7 +924,8 @@ Cell_handle start, int f) const; Copies the `Cell_handle`s of all cells incident to `v` to the output iterator `cells`. Returns the resulting output iterator. -\pre `tds.dimension()` \f$ =3\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`. +\pre `dimension()` \f$ =3\f$ +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink */ template OutputIterator @@ -934,7 +935,8 @@ incident_cells(Vertex_handle v, OutputIterator cells) const; Copies the `Facet`s incident to `v` to the output iterator `facets`. Returns the resulting output iterator. -\pre `tds.dimension()` \f$ >1\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`. +\pre `dimension()` \f$ >1\f$ +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink */ template OutputIterator @@ -943,7 +945,8 @@ incident_facets(Vertex_handle v, OutputIterator facets) const; /*! Copies all `Edge`s incident to `v` to the output iterator `edges`. Returns the resulting output iterator. -\pre `tds.dimension()` \f$ >0\f$, `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`. +\pre `dimension()` \f$ >0\f$ +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink */ template OutputIterator @@ -951,9 +954,9 @@ incident_edges(Vertex_handle v, OutputIterator edges) const; /*! Copies the `Vertex_handle`s of all vertices adjacent to `v` to the -output iterator `vertices`. If `tds.dimension()` \f$ <0\f$, then do +output iterator `vertices`. If `dimension()` \f$ <0\f$, then do nothing. Returns the resulting output iterator. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` and \link is_vertex `is_vertex(v)`\endlink */ template OutputIterator @@ -961,7 +964,8 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const; /*! Returns the degree of `v`, that is, the number of incident vertices. -\pre `v` \f$ \neq\f$ `Vertex_handle()`, `tds.is_vertex(v)`. +\pre `v` \f$ \neq\f$ `Vertex_handle()` +\pre \link is_vertex `is_vertex(v)`\endlink */ size_type degree(Vertex_handle v) const; @@ -1045,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 diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h index 4824bd7a081..b58f77de743 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h @@ -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 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 @@ -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 @@ -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 Stream & draw_dual(Stream & os); diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h index 32a38695566..b3dd1e2e1f4 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_3.h @@ -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; @@ -1582,7 +1582,8 @@ Cell_handle start, int f) const; Copies the `Cell_handle`s of all cells incident to `v` to the output iterator `cells`. Returns the resulting output iterator. -\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() == 3` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1595,7 +1596,8 @@ Returns `true` in case of success. Otherwise, `cells` is emptied and the functio returns false. In any case, the locked cells are not unlocked by `try_lock_and_get_incident_cells()`, leaving this choice to the user. -\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() == 3` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ bool try_lock_and_get_incident_cells(Vertex_handle v, @@ -1604,7 +1606,8 @@ bool Copies the `Cell_handle`s of all finite cells incident to `v` to the output iterator `cells`. Returns the resulting output iterator. -\pre `t.dimension() == 3`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() == 3` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1614,7 +1617,8 @@ finite_incident_cells(Vertex_handle v, OutputIterator cells) const; Copies all `Facet`s incident to `v` to the output iterator `facets`. Returns the resulting output iterator. -\pre `t.dimension() > 1`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() > 1` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1624,7 +1628,8 @@ incident_facets(Vertex_handle v, OutputIterator facets) const; Copies all finite `Facet`s incident to `v` to the output iterator `facets`. Returns the resulting output iterator. -\pre `t.dimension() > 1`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() > 1` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1633,7 +1638,8 @@ finite_incident_facets(Vertex_handle v, OutputIterator facets) const; /*! Copies all `Edge`s incident to `v` to the output iterator `edges`. Returns the resulting output iterator. -\pre `t.dimension() > 0`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() > 0` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1642,7 +1648,8 @@ incident_edges(Vertex_handle v, OutputIterator edges) const; /*! Copies all finite `Edge`s incident to `v` to the output iterator `edges`. Returns the resulting output iterator. -\pre `t.dimension() > 0`, `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `t.dimension() > 0` +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1652,7 +1659,7 @@ finite_incident_edges(Vertex_handle v, OutputIterator edges) const; Copies the `Vertex_handle`s of all vertices adjacent to `v` to the output iterator `vertices`. If `t.dimension() < 0`, then do nothing. Returns the resulting output iterator. -\pre `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1662,7 +1669,7 @@ adjacent_vertices(Vertex_handle v, OutputIterator vertices) const; Copies the `Vertex_handle`s of all finite vertices adjacent to `v` to the output iterator `vertices`. If `t.dimension() < 0`, then do nothing. Returns the resulting output iterator. -\pre `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ template OutputIterator @@ -1671,7 +1678,7 @@ finite_adjacent_vertices(Vertex_handle v, OutputIterator vertices) const; /*! Returns the degree of `v`, that is, the number of incident vertices. The infinite vertex is counted. -\pre `v != Vertex_handle()`, `t.is_vertex(v)`. +\pre `v != Vertex_handle()` and \link is_vertex `t.is_vertex(v)`\endlink. */ size_type degree(Vertex_handle v) const;