Apply suggestions from review

Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
This commit is contained in:
Sebastien Loriot 2022-10-05 15:39:04 +02:00 committed by GitHub
parent 43823988c9
commit cbfeb98b38
35 changed files with 130 additions and 133 deletions

View File

@ -1,4 +1,4 @@
@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS} @INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS}
PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 2D Conforming Triangulations and Meshes" PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 2D Conforming Triangulations and Meshes"
INPUT += ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/lloyd_optimize_mesh_2.h INPUT += ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/lloyd_optimize_mesh_2.h

View File

@ -196,7 +196,7 @@ public:
/** \name Functions to manage clusters during the refinement process. */ /** \name Functions to manage clusters during the refinement process. */
/** /**
* Update the cluster of `[va,vb]`, putting `vm` instead of `vb`. * Updates the cluster of `[va,vb]`, putting `vm` instead of `vb`.
* If reduction=false, the edge [va,vm] is not set reduced. * If reduction=false, the edge [va,vm] is not set reduced.
*/ */
void update_cluster(Cluster& c, iterator it, void update_cluster(Cluster& c, iterator it,

View File

@ -222,7 +222,7 @@ public:
private: private:
/** /**
* Returns moves for vertices of set `moving_vertices` * Returns moves for vertices of set `moving_vertices`.
*/ */
Moves_vector compute_moves(Vertex_set& moving_vertices) Moves_vector compute_moves(Vertex_set& moving_vertices)
{ {
@ -260,7 +260,7 @@ private:
} }
/** /**
* Returns the move for vertex `v` * Returns the move for vertex `v`.
*/ */
Vector_2 compute_move(const Vertex_handle& v) Vector_2 compute_move(const Vertex_handle& v)
{ {
@ -284,7 +284,7 @@ private:
} }
/** /**
* Returns the minimum cicumradius length of faces incident to `v` * Returns the minimum cicumradius length of faces incident to `v`.
*/ */
FT min_sq_circumradius(const Vertex_handle& v) const FT min_sq_circumradius(const Vertex_handle& v) const
{ {

View File

@ -99,7 +99,7 @@ public:
private: private:
/** /**
* Returns size at point `p`, by interpolation inside facet * Returns size at point `p`, by interpolation inside facet.
*/ */
FT interpolate_on_face_vertices(const Point_2& FT interpolate_on_face_vertices(const Point_2&
#ifdef CGAL_MESH_2_SIZING_FIELD_USE_BARYCENTRIC_COORDINATES #ifdef CGAL_MESH_2_SIZING_FIELD_USE_BARYCENTRIC_COORDINATES

View File

@ -63,12 +63,12 @@ namespace CGAL
* the bounded connected components including at least * the bounded connected components including at least
* one seed. If `seeds_are_in_domain==false`, the domain is the * one seed. If `seeds_are_in_domain==false`, the domain is the
* union of the bounded components including no seed.} * union of the bounded components including no seed.}
* \cgalParamType{a class model of `ConstRange` with iterator being a model of `InputIterator` with `CDT::Point_2` as value type.} * \cgalParamType{a class model of `ConstRange` whose iterator is a model of `InputIterator` with `CDT::Point_2` as value type.}
* \cgalParamDefault{No seed.} * \cgalParamDefault{No seed.}
* \cgalParamNEnd * \cgalParamNEnd
* *
* \cgalParamNBegin{seeds_are_in_domain} * \cgalParamNBegin{seeds_are_in_domain}
* \cgalParamDescription{specified if seeds indicates bounded connected components inside or outside of the domain.} * \cgalParamDescription{specified if seeds indicate bounded connected components inside or outside of the domain.}
* \cgalParamType{`bool`} * \cgalParamType{`bool`}
* \cgalParamDefault{false} * \cgalParamDefault{false}
* \cgalParamNEnd * \cgalParamNEnd
@ -82,7 +82,7 @@ namespace CGAL
* \cgalParamNEnd * \cgalParamNEnd
* *
* \cgalParamNBegin{time_limit} * \cgalParamNBegin{time_limit}
* \cgalParamDescription{to set up, in seconds, a CPU time limit after which the optimization process is stopped. * \cgalParamDescription{CPU time limit (in seconds) after which the optimization process is stopped.
* This time is measured using `CGAL::Real_timer`. 0 means that there is no time limit.} * This time is measured using `CGAL::Real_timer`. 0 means that there is no time limit.}
* \cgalParamType{`double`} * \cgalParamType{`double`}
* \cgalParamPrecondition{`time_limit` \f$ \geq\f$ 0} * \cgalParamPrecondition{`time_limit` \f$ \geq\f$ 0}
@ -127,7 +127,7 @@ lloyd_optimize_mesh_2(CDT& cdt, const CGAL_NP_CLASS& np = parameters::default_va
int max_iterations = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 0); int max_iterations = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 0);
const double convergence_ratio = choose_parameter(get_parameter(np, internal_np::convergence_ratio), 0.001); const double convergence_ratio = choose_parameter(get_parameter(np, internal_np::convergence_ratio), 0.001);
const double freeze_bound = 0.001; /* choose_parameter(get_parameter(np, internal_np::freeze_bound), 0.001); */ const double freeze_bound = choose_parameter(get_parameter(np, internal_np::freeze_bound), 0.001);
const double time_limit = choose_parameter(get_parameter(np, internal_np::maximum_running_time), 0.); const double time_limit = choose_parameter(get_parameter(np, internal_np::maximum_running_time), 0.);
// Seeds // Seeds
// { // {

View File

@ -101,7 +101,7 @@ unspecified_type manifold_with_boundary();
* refine_mesh_3(c3t3, * refine_mesh_3(c3t3,
* domain, * domain,
* criteria, * criteria,
* parameters::exude(parameters::time_limit=10)); * parameters::exude(parameters::time_limit(10)));
* \endcode * \endcode
* *
* \sa `CGAL::parameters::no_exude()` * \sa `CGAL::parameters::no_exude()`
@ -282,7 +282,7 @@ unspecified_type no_lloyd();
* \ingroup PkgMesh3Parameters * \ingroup PkgMesh3Parameters
* *
* The function `parameters::no_odt()` allows the user to tell the mesh generation functions * The function `parameters::no_odt()` allows the user to tell the mesh generation functions
* `make_mesh_3()` and `refine_mesh_3()` that no odt optimization must be done. * `make_mesh_3()` and `refine_mesh_3()` that no ODT optimization must be done.
* *
* \cgalHeading{Example} * \cgalHeading{Example}
* *
@ -423,7 +423,7 @@ unspecified_type odt(const Named_function_parameters& np = parameters::default_v
* is stopped. This time is measured using the `Real_timer` class. The default value is * is stopped. This time is measured using the `Real_timer` class. The default value is
* 0 and means that there is no time limit.} * 0 and means that there is no time limit.}
* \cgalParamType{`double`} * \cgalParamType{`double`}
* \cgalParamPrecondition{`0 <= sliver_bound <= 180`} * \cgalParamPrecondition{`time_limit >= 0`}
* \cgalParamDefault{0} * \cgalParamDefault{0}
* \cgalParamNEnd * \cgalParamNEnd
* \cgalParamNBegin{sliver_bound} * \cgalParamNBegin{sliver_bound}
@ -434,7 +434,7 @@ unspecified_type odt(const Named_function_parameters& np = parameters::default_v
* default value is 0 and means that there is no targeted bound: the exuder then runs as long * default value is 0 and means that there is no targeted bound: the exuder then runs as long
* as it can improve the smallest dihedral angles of the set of cells incident to some vertices.} * as it can improve the smallest dihedral angles of the set of cells incident to some vertices.}
* \cgalParamType{`double`} * \cgalParamType{`double`}
* \cgalParamPrecondition{`time_limit >= 0`} * \cgalParamPrecondition{`0 <= sliver_bound <= 180`}
* \cgalParamDefault{0} * \cgalParamDefault{0}
* \cgalParamNEnd * \cgalParamNEnd
* \cgalNamedParamsEnd * \cgalNamedParamsEnd

View File

@ -214,7 +214,7 @@ int main()
// (Warning: Sphere_3 constructor uses square radius !) // (Warning: Sphere_3 constructor uses square radius !)
Implicit_domain sphere_domain = Implicit_domain sphere_domain =
Implicit_domain::create_implicit_mesh_domain(sphere_centered_at_111, Implicit_domain::create_implicit_mesh_domain(sphere_centered_at_111,
K::Sphere_3(K::Point_3(1, 1, 1), 2.)); K::Sphere_3(K::Point_3(1, 1, 1), K::FT(2)));
Domain domain(sphere_domain, polyhedron_domain); Domain domain(sphere_domain, polyhedron_domain);

View File

@ -49,7 +49,7 @@ int main()
v.push_back(f2); v.push_back(f2);
// Domain (Warning: Sphere_3 constructor uses square radius !) // Domain (Warning: Sphere_3 constructor uses square radius !)
Mesh_domain domain(Function_wrapper(v), K::Sphere_3(CGAL::ORIGIN, 5.*5.), Mesh_domain domain(Function_wrapper(v), K::Sphere_3(CGAL::ORIGIN, CGAL::square(K::FT(5))),
params::relative_error_bound(1e-6)); params::relative_error_bound(1e-6));
// Set mesh criteria // Set mesh criteria

View File

@ -46,7 +46,7 @@ int main()
/// [Domain creation] (Warning: Sphere_3 constructor uses square radius !) /// [Domain creation] (Warning: Sphere_3 constructor uses square radius !)
namespace params = CGAL::parameters; namespace params = CGAL::parameters;
Mesh_domain domain(Function_wrapper(v, vps), Mesh_domain domain(Function_wrapper(v, vps),
K::Sphere_3(CGAL::ORIGIN,5.*5.), K::Sphere_3(CGAL::ORIGIN, CGAL::square(K::FT(5))),
params::relative_error_bound(1e-6)); params::relative_error_bound(1e-6));
/// [Domain creation] /// [Domain creation]

View File

@ -39,7 +39,7 @@ int main()
/// [Domain creation] (Warning: Sphere_3 constructor uses squared radius !) /// [Domain creation] (Warning: Sphere_3 constructor uses squared radius !)
Mesh_domain domain = Mesh_domain domain =
Mesh_domain::create_implicit_mesh_domain( sphere_function, Mesh_domain::create_implicit_mesh_domain( sphere_function,
K::Sphere_3(CGAL::ORIGIN, 2.)); K::Sphere_3(CGAL::ORIGIN, K::FT(2)));
/// [Domain creation] /// [Domain creation]
// Mesh criteria // Mesh criteria

View File

@ -52,7 +52,7 @@ int main()
{ {
/// [Domain creation] (Warning: Sphere_3 constructor uses squared radius !) /// [Domain creation] (Warning: Sphere_3 constructor uses squared radius !)
Mesh_domain domain = Mesh_domain::create_implicit_mesh_domain Mesh_domain domain = Mesh_domain::create_implicit_mesh_domain
(sphere_function, K::Sphere_3(CGAL::ORIGIN, 2.) (sphere_function, K::Sphere_3(CGAL::ORIGIN, K::FT(2))
); );
/// [Domain creation] /// [Domain creation]

View File

@ -272,7 +272,7 @@ if there are several components to mesh.
The function type can be any model of the concept `Callable` compatible with the signature `Subdomain_index(const Point_3&)`: it can be a function, a function object, a lambda expression... that takes a `%Point_3` as argument, and returns a type convertible to `Subdomain_index`. The function type can be any model of the concept `Callable` compatible with the signature `Subdomain_index(const Point_3&)`: it can be a function, a function object, a lambda expression... that takes a `%Point_3` as argument, and returns a type convertible to `Subdomain_index`.
\cgalModels MeshDomain_3 \cgalModels `MeshDomain_3`
\sa `Implicit_multi_domain_to_labeling_function_wrapper` \sa `Implicit_multi_domain_to_labeling_function_wrapper`
\sa `CGAL::make_mesh_3()`. \sa `CGAL::make_mesh_3()`.
@ -509,7 +509,7 @@ public:
auto value_outside_ = choose_parameter(get_parameter(np, internal_np::voxel_value), 0); auto value_outside_ = choose_parameter(get_parameter(np, internal_np::voxel_value), 0);
FT relative_error_bound_ = choose_parameter(get_parameter(np, internal_np::error_bound), FT(1e-3)); FT relative_error_bound_ = choose_parameter(get_parameter(np, internal_np::error_bound), FT(1e-3));
auto image_values_to_subdomain_indices_ = choose_parameter(get_parameter(np, internal_np::image_subdomain_index), Null_functor()); auto image_values_to_subdomain_indices_ = choose_parameter(get_parameter(np, internal_np::image_subdomain_index), Null_functor());
CGAL::Random* p_rng_ = choose_parameter(get_parameter(np, internal_np::rng), (CGAL::Random*)(0)); CGAL::Random* p_rng_ = choose_parameter(get_parameter(np, internal_np::rng), nullptr);
auto null_subdomain_index_ = choose_parameter(get_parameter(np, internal_np::null_subdomain_index_param), Null_functor()); auto null_subdomain_index_ = choose_parameter(get_parameter(np, internal_np::null_subdomain_index_param), Null_functor());
auto construct_surface_patch_index_ = choose_parameter(get_parameter(np, internal_np::surface_patch_index), Null_functor()); auto construct_surface_patch_index_ = choose_parameter(get_parameter(np, internal_np::surface_patch_index), Null_functor());
namespace p = CGAL::parameters; namespace p = CGAL::parameters;
@ -746,9 +746,6 @@ public:
* \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below: * \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below:
* *
* \cgalNamedParamsBegin * \cgalNamedParamsBegin
* \cgalParamNBegin{function}
* \cgalParamDescription{the .}
* \cgalParamNEnd
* \cgalParamNBegin{relative_error_bound} * \cgalParamNBegin{relative_error_bound}
* \cgalParamDescription{ is the relative error * \cgalParamDescription{ is the relative error
* bound, relative to the diameter of the box of the image.} * bound, relative to the diameter of the box of the image.}

View File

@ -107,7 +107,7 @@ public:
~Image_plus_weights_to_labeled_function_wrapper() {} ~Image_plus_weights_to_labeled_function_wrapper() {}
/** /**
* Returns an int corresponding to the label at point `p` * Returns an int corresponding to the label at point `p`.
* @param p the input point * @param p the input point
* @return the label at point `p` * @return the label at point `p`
*/ */

View File

@ -72,7 +72,7 @@ public:
~Image_to_labeled_function_wrapper() {} ~Image_to_labeled_function_wrapper() {}
/** /**
* Returns an int corresponding to the label at point `p` * Returns an int corresponding to the label at point `p`.
* @param p the input point * @param p the input point
* @return the label at point `p` * @return the label at point `p`
*/ */

View File

@ -68,7 +68,7 @@ public:
typedef SizingField Sizing_field; typedef SizingField Sizing_field;
/** /**
* @brief Return the move to apply on `v` according to Lloyd optimization * @brief Returns the move to apply on `v` according to Lloyd optimization
* function. * function.
*/ */
Vector_3 operator()(const Vertex_handle& v, Vector_3 operator()(const Vertex_handle& v,
@ -162,7 +162,7 @@ private:
/** /**
* Return the move for the inside vertex `v`. * Returns the move for the inside vertex `v`.
*/ */
Vector_3 lloyd_move_inside_domain(const Vertex_handle& v, Vector_3 lloyd_move_inside_domain(const Vertex_handle& v,
const Cell_vector& incident_cells, const Cell_vector& incident_cells,
@ -210,7 +210,7 @@ private:
} }
/** /**
* Return the move for the on-boundary vertex `v`. * Returns the move for the on-boundary vertex `v`.
*/ */
Vector_3 lloyd_move_on_boundary(const Vertex_handle& v, Vector_3 lloyd_move_on_boundary(const Vertex_handle& v,
const C3T3& c3t3, const C3T3& c3t3,
@ -298,7 +298,7 @@ private:
} }
/** /**
* Return the move from `v` to the centroid of the segment [a,b]. * Returns the move from `v` to the centroid of the segment `[a,b]`.
*/ */
Vector_3 centroid_segment_move(const Vertex_handle& v, Vector_3 centroid_segment_move(const Vertex_handle& v,
const Bare_point& a, const Bare_point& a,
@ -320,7 +320,7 @@ private:
} }
/** /**
* Return the move from `v` to the centroid of triangle [a,b,c]. * Returns the move from `v` to the centroid of triangle `[a,b,c]`.
*/ */
Vector_3 centroid_triangle_move(const Vertex_handle& v, Vector_3 centroid_triangle_move(const Vertex_handle& v,
const Bare_point& a, const Bare_point& a,
@ -397,7 +397,7 @@ private:
} }
/** /**
* Return the move from `v` to the centroid of polygon[first,last]. * Returns the move from `v` to the centroid of polygon `[first,last]`.
* The polygon has to be convex. * The polygon has to be convex.
*/ */
template <typename ForwardIterator> template <typename ForwardIterator>
@ -523,7 +523,7 @@ private:
} }
/** /**
* Turn around the edge `edge` and add the values computed from tets made by * Turns around the edge `edge` and adds the values computed from tets made by
* `v` and the circumcenters of cells incident to `edge`. * `v` and the circumcenters of cells incident to `edge`.
* *
* Note that this function abundantly uses dual() calls and using a cell base * Note that this function abundantly uses dual() calls and using a cell base

View File

@ -313,12 +313,12 @@ public:
private: private:
/** /**
* Returns moves for vertices of set `moving_vertices` * Returns moves for vertices of set `moving_vertices`.
*/ */
Moves_vector compute_moves(Moving_vertices_set& moving_vertices); Moves_vector compute_moves(Moving_vertices_set& moving_vertices);
/** /**
* Returns the move for vertex `v` * Returns the move for vertex `v`.
* \warning This function should be called only on moving vertices * \warning This function should be called only on moving vertices
* even for frozen vertices, it could return a non-zero vector * even for frozen vertices, it could return a non-zero vector
*/ */
@ -343,17 +343,17 @@ private:
bool check_convergence() const; bool check_convergence() const;
/** /**
* Returns the average circumradius length of cells incident to `v` * Returns the average circumradius length of cells incident to `v`.
*/ */
FT average_circumradius_length(const Vertex_handle& v) const; FT average_circumradius_length(const Vertex_handle& v) const;
/** /**
* Returns the minimum cicumradius length of cells incident to `v` * Returns the minimum cicumradius length of cells incident to `v`.
*/ */
FT min_circumradius_sq_length(const Vertex_handle& v, const Cell_vector& incident_cells) const; FT min_circumradius_sq_length(const Vertex_handle& v, const Cell_vector& incident_cells) const;
/** /**
* Returns the squared circumradius length of cell `cell` * Returns the squared circumradius length of cell `cell`.
*/ */
FT sq_circumradius_length(const Cell_handle& cell, FT sq_circumradius_length(const Cell_handle& cell,
const Vertex_handle& v) const; const Vertex_handle& v) const;

View File

@ -107,7 +107,7 @@ public:
Mesh_sizing_field(Tr& tr); Mesh_sizing_field(Tr& tr);
/** /**
* Fill sizing field, using size associated to point in `value_map` * Fills sizing field, using size associated to point in `value_map`
*/ */
void fill(const std::map<Bare_point, FT>& value_map); void fill(const std::map<Bare_point, FT>& value_map);

View File

@ -55,21 +55,21 @@ public:
Mesh_surface_cell_base_3_base() Mesh_surface_cell_base_3_base()
: bits_(0) {} : bits_(0) {}
/// Marks `facet` as visited /// Marks `facet` as visited.
void set_facet_visited (const int facet) void set_facet_visited (const int facet)
{ {
CGAL_precondition(facet>=0 && facet <4); CGAL_precondition(facet>=0 && facet <4);
bits_ |= (1 << facet); bits_ |= (1 << facet);
} }
/// Marks `facet` as not visited /// Marks `facet` as not visited.
void reset_visited (const int facet) void reset_visited (const int facet)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
bits_ &= (15 & ~(1 << facet)); bits_ &= (15 & ~(1 << facet));
} }
/// Returns `true` if `facet` is marked as visited /// Returns `true` if `facet` is marked as visited.
bool is_facet_visited (const int facet) const bool is_facet_visited (const int facet) const
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
@ -92,7 +92,7 @@ public:
bits_ = 0; bits_ = 0;
} }
/// Marks `facet` as visited /// Marks `facet` as visited.
void set_facet_visited (const int facet) void set_facet_visited (const int facet)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
@ -103,7 +103,7 @@ public:
} }
} }
/// Marks `facet` as not visited /// Marks `facet` as not visited.
void reset_visited (const int facet) void reset_visited (const int facet)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
@ -114,7 +114,7 @@ public:
} }
} }
/// Returns `true` if `facet` is marked as visited /// Returns `true` if `facet` is marked as visited.
bool is_facet_visited (const int facet) const bool is_facet_visited (const int facet) const
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
@ -187,42 +187,42 @@ public:
// Default copy constructor and assignment operator are ok // Default copy constructor and assignment operator are ok
/// Set surface index of `facet` to `index` /// Sets surface index of `facet` to `index`
void set_surface_patch_index(const int facet, const Surface_patch_index& index) void set_surface_patch_index(const int facet, const Surface_patch_index& index)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
surface_index_table_[facet] = index; surface_index_table_[facet] = index;
} }
/// Returns surface index of facet `facet` /// Returns surface index of facet `facet`.
Surface_patch_index surface_patch_index(const int facet) const Surface_patch_index surface_patch_index(const int facet) const
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
return surface_index_table_[facet]; return surface_index_table_[facet];
} }
/// Sets surface center of `facet` to `point` /// Sets surface center of `facet` to `point`.
void set_facet_surface_center(const int facet, const Point& point) void set_facet_surface_center(const int facet, const Point& point)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
surface_center_table_[facet] = point; surface_center_table_[facet] = point;
} }
/// Returns surface center of `facet` /// Returns surface center of `facet`.
Point get_facet_surface_center(const int facet) const Point get_facet_surface_center(const int facet) const
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
return surface_center_table_[facet]; return surface_center_table_[facet];
} }
/// Sets surface center index of `facet` to `index` /// Sets surface center index of `facet` to `index`.
void set_facet_surface_center_index(const int facet, const Index& index) void set_facet_surface_center_index(const int facet, const Index& index)
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
surface_center_index_table_[facet] = index; surface_center_index_table_[facet] = index;
} }
/// Returns surface center of `facet` /// Returns surface center of `facet`.
Index get_facet_surface_center_index(const int facet) const Index get_facet_surface_center_index(const int facet) const
{ {
CGAL_precondition(facet>=0 && facet<4); CGAL_precondition(facet>=0 && facet<4);
@ -245,7 +245,7 @@ public:
void set_surface_index(const int facet, const Surface_index& index) void set_surface_index(const int facet, const Surface_index& index)
{ set_surface_patch_index(facet,index); } { set_surface_patch_index(facet,index); }
/// Returns surface index of facet `facet` /// Returns surface index of facet `facet`.
Surface_index surface_index(const int facet) const Surface_index surface_index(const int facet) const
{ return surface_patch_index(facet); } { return surface_patch_index(facet); }
#endif // CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX #endif // CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX

View File

@ -520,7 +520,7 @@ public:
type is made of two booleans: type is made of two booleans:
- the first one tells if the point can be inserted, - the first one tells if the point can be inserted,
- in case of, the first one is `false`, the second one tells if - in case of, the first one is `false`, the second one tells if
the tested element should be reconsidered latter. the tested element should be reconsidered later.
This function is called by the superior level, if any. This function is called by the superior level, if any.
*/ */
Mesher_level_conflict_status Mesher_level_conflict_status
@ -805,7 +805,7 @@ public:
type is made of two booleans: type is made of two booleans:
- the first one tells if the point can be inserted, - the first one tells if the point can be inserted,
- in case of, the first one is `false`, the second one tells if - in case of, the first one is `false`, the second one tells if
the tested element should be reconsidered latter. the tested element should be reconsidered later.
This function is called by the superior level, if any. This function is called by the superior level, if any.
*/ */
template <class Mesh_visitor> template <class Mesh_visitor>

View File

@ -196,7 +196,7 @@ private:
Vertex_handle get_vertex_corner_from_point(const Bare_point& p, Vertex_handle get_vertex_corner_from_point(const Bare_point& p,
const Index& p_index) const; const Index& p_index) const;
/// Insert point(p,w) into the triangulation and set its dimension to `dim` /// Inserts `point(p,w)` into the triangulation and set its dimension to `dim`
/// and its index to `index`. /// and its index to `index`.
/// The handle of the newly created vertex is returned. /// The handle of the newly created vertex is returned.
Vertex_handle insert_point(const Bare_point& p, Vertex_handle insert_point(const Bare_point& p,
@ -206,7 +206,7 @@ private:
const bool special_ball = false); const bool special_ball = false);
/** /**
* Insert point(p,w) into the triangulation and set its dimension to `dim` and * Inserts `point(p,w)` into the triangulation and set its dimension to `dim` and
* its index to `index`. * its index to `index`.
* The handle of the newly created vertex is returned. * The handle of the newly created vertex is returned.
* *
@ -223,7 +223,7 @@ private:
const Index& index, const Index& index,
ErasedVeOutIt out); ErasedVeOutIt out);
/// Insert balls between the points identified by the handles `vp` and `vq` /// Inserts balls between the points identified by the handles `vp` and `vq`
/// on the curve identified by `curve_index`. /// on the curve identified by `curve_index`.
/// ///
/// \param orientation Orientation of the curve segment between `vp` and /// \param orientation Orientation of the curve segment between `vp` and
@ -251,22 +251,22 @@ private:
const Curve_index& curve_index, const Curve_index& curve_index,
ErasedVeOutIt out); ErasedVeOutIt out);
/// Return `true` if the balls of `va` and `vb` intersect, and `(va,vb)` is not /// Returns `true` if the balls of `va` and `vb` intersect, and `(va,vb)` is not
/// an edge of the complex. /// an edge of the complex.
bool non_adjacent_but_intersect(const Vertex_handle& va, bool non_adjacent_but_intersect(const Vertex_handle& va,
const Vertex_handle& vb) const; const Vertex_handle& vb) const;
/// Return `true` if the balls of `va` and `vb` intersect. /// Returns `true` if the balls of `va` and `vb` intersect.
bool do_balls_intersect(const Vertex_handle& va, bool do_balls_intersect(const Vertex_handle& va,
const Vertex_handle& vb) const; const Vertex_handle& vb) const;
/// Change the size of the ball of the vertex `v`. /// Changes the size of the ball of the vertex `v`.
Vertex_handle change_ball_size(const Vertex_handle& v, Vertex_handle change_ball_size(const Vertex_handle& v,
const FT squared_size, const FT squared_size,
const bool special_ball = false); const bool special_ball = false);
/// Return `true` if balls of v1 and v2 intersect "enough". /// Returns `true` if balls of v1 and v2 intersect "enough".
/// \param orientation Orientation of the curve segment between `v1` and /// \param orientation Orientation of the curve segment between `v1` and
/// `v2`, given the orientation of the curve of index /// `v2`, given the orientation of the curve of index
/// `curve_index` /// `curve_index`
@ -280,15 +280,15 @@ private:
/// of those vertices is ok. If not, fix it. /// of those vertices is ok. If not, fix it.
void check_and_repopulate_edges(); void check_and_repopulate_edges();
/// Check if the vertex `v` is well sampled, and if its not the case, fix it. /// Checks if the vertex `v` is well sampled, and if its not the case, fix it.
/// Fill `out` with deleted vertices during this process. The value type of `out` /// Fills `out` with deleted vertices during this process. The value type of `out`
/// is `Vertex_handle`. /// is `Vertex_handle`.
template <typename ErasedVeOutIt> template <typename ErasedVeOutIt>
ErasedVeOutIt ErasedVeOutIt
check_and_fix_vertex_along_edge(const Vertex_handle& v, ErasedVeOutIt out); check_and_fix_vertex_along_edge(const Vertex_handle& v, ErasedVeOutIt out);
/// Given two vertices `start` and `next` inserted on the curve with /// Given two vertices `start` and `next` inserted on the curve with
/// index `curve_index`, return `CGAL::POSITIVE` if the curve arc from /// index `curve_index`, returns `CGAL::POSITIVE` if the curve arc from
/// `start` to `next` is oriented in the same orientation as the curve /// `start` to `next` is oriented in the same orientation as the curve
/// segment with index `curve_index`, or `CGAL::NEGATIVE` otherwise. /// segment with index `curve_index`, or `CGAL::NEGATIVE` otherwise.
/// ///
@ -298,7 +298,7 @@ private:
const Vertex_handle& next, const Vertex_handle& next,
Curve_index curve_index) const; Curve_index curve_index) const;
/// Walk along the edge from `start`, following the direction `start` to /// Walks along the edge from `start`, following the direction `start` to
/// `next`, and fills `out` with the vertices which do not fulfill /// `next`, and fills `out` with the vertices which do not fulfill
/// the sampling conditions. /// the sampling conditions.
/// ///
@ -315,7 +315,7 @@ private:
const CGAL::Orientation orientation, const CGAL::Orientation orientation,
ErasedVeOutIt out) const; ErasedVeOutIt out) const;
/// Return the next vertex along edge, i.e the vertex after `start`, following /// Returns the next vertex along edge, i.e the vertex after `start`, following
/// the direction from `previous` to `start`. /// the direction from `previous` to `start`.
/// \pre (previous,start) is in c3t3 /// \pre (previous,start) is in c3t3
/// \pre `c3t3.curve_index(start, previous) == curve_index` /// \pre `c3t3.curve_index(start, previous) == curve_index`
@ -324,7 +324,7 @@ private:
const Vertex_handle& previous, const Vertex_handle& previous,
const Curve_index& curve_index) const; const Curve_index& curve_index) const;
/// Replace the vertices between ]begin,last[ with new vertices, along the curve /// Replaces the vertices within `]begin,last[` with new vertices, along the curve
/// identified by `curve_index`. /// identified by `curve_index`.
/// The value type of `InputIterator` is `Vertex_handle`. /// The value type of `InputIterator` is `Vertex_handle`.
/// ///
@ -346,7 +346,7 @@ private:
const CGAL::Orientation orientation, const CGAL::Orientation orientation,
ErasedVeOutIt out); ErasedVeOutIt out);
/// Check if the size of `v2` is compatible (i.e. greater) with the linear /// Checks if the size of `v2` is compatible (i.e. greater) with the linear
/// interpolation of the sizes of `v1` and `v3`. /// interpolation of the sizes of `v1` and `v3`.
bool is_sizing_field_correct(const Vertex_handle& v1, bool is_sizing_field_correct(const Vertex_handle& v1,
const Vertex_handle& v2, const Vertex_handle& v2,
@ -354,25 +354,25 @@ private:
const Curve_index& index, const Curve_index& index,
const CGAL::Orientation orientation) const; const CGAL::Orientation orientation) const;
/// Repopulate all incident curves around the corner `v`. /// Repopulates all incident curves around the corner `v`.
/// \pre `v` is a corner of c3t3 /// \pre `v` is a corner of c3t3
template <typename ErasedVeOutIt> template <typename ErasedVeOutIt>
ErasedVeOutIt ErasedVeOutIt
repopulate_edges_around_corner(const Vertex_handle& v, ErasedVeOutIt out); repopulate_edges_around_corner(const Vertex_handle& v, ErasedVeOutIt out);
/// Return `true` if the edge with index `curve_index` is already treated. /// Returns `true` if the edge with index `curve_index` is already treated.
bool is_treated(const Curve_index& curve_index) const bool is_treated(const Curve_index& curve_index) const
{ {
return ( treated_edges_.find(curve_index) != treated_edges_.end() ); return ( treated_edges_.find(curve_index) != treated_edges_.end() );
} }
/// Set the edge with index `curve_index` as treated. /// Sets the edge with index `curve_index` as treated.
void set_treated(const Curve_index& curve_index) void set_treated(const Curve_index& curve_index)
{ {
treated_edges_.insert(curve_index); treated_edges_.insert(curve_index);
} }
/// Compute the Euclidean distance between the bare points of `va` and `vb`. /// Computes the Euclidean distance between the bare points of `va` and `vb`.
FT compute_distance(const Vertex_handle& va, const Vertex_handle& vb) const FT compute_distance(const Vertex_handle& va, const Vertex_handle& vb) const
{ {
typename C3T3::Triangulation::Geom_traits::Construct_point_3 cp = typename C3T3::Triangulation::Geom_traits::Construct_point_3 cp =
@ -384,14 +384,14 @@ private:
return compute_distance(cp(wpa), cp(wpb)); return compute_distance(cp(wpa), cp(wpb));
} }
/// Compute the Euclidean distance between the bare points `p` and `q`. /// Computes the Euclidean distance between the bare points `p` and `q`.
FT compute_distance(const Bare_point& p, const Bare_point& q) const FT compute_distance(const Bare_point& p, const Bare_point& q) const
{ {
return CGAL::sqrt(c3t3_.triangulation().geom_traits(). return CGAL::sqrt(c3t3_.triangulation().geom_traits().
compute_squared_distance_3_object()(p,q)); compute_squared_distance_3_object()(p,q));
} }
/// Return the radius of the ball of vertex `v`. /// Returns the radius of the ball of vertex `v`.
FT get_radius(const Vertex_handle& v) const FT get_radius(const Vertex_handle& v) const
{ {
typename Gt::Compute_weight_3 cw = typename Gt::Compute_weight_3 cw =

View File

@ -438,7 +438,7 @@ public:
// Parallel: it's always lazy, so do nothing // Parallel: it's always lazy, so do nothing
void remove_element_from_refinement_queue(Cell_handle, Parallel_tag) {} void remove_element_from_refinement_queue(Cell_handle, Parallel_tag) {}
/// Handle cells contained in `zone` (before their destruction by insertion) /// Handles cells contained in `zone` (before their destruction by insertion)
void before_insertion_handle_cells_in_conflict_zone(Zone& zone); void before_insertion_handle_cells_in_conflict_zone(Zone& zone);
bool try_lock_element(const Cell_handle &ch, int lock_radius = 0) const bool try_lock_element(const Cell_handle &ch, int lock_radius = 0) const
@ -479,7 +479,7 @@ public:
return sstr.str(); return sstr.str();
} }
/// Adds `cell` to the refinement queue if needed /// Adds `cell` to the refinement queue if needed.
void treat_new_cell(const Cell_handle& cell); void treat_new_cell(const Cell_handle& cell);
#ifdef CGAL_MESH_3_MESHER_STATUS_ACTIVATED #ifdef CGAL_MESH_3_MESHER_STATUS_ACTIVATED
@ -531,20 +531,20 @@ private:
// Updates cells incident to vertex, and add them to queue if needed // Updates cells incident to vertex, and add them to queue if needed
void update_star_self(const Vertex_handle& vertex); void update_star_self(const Vertex_handle& vertex);
/// Set `cell` to domain, with subdomain index `index` /// Sets `cell` to domain, with subdomain index `index`.
void set_cell_in_domain(const Cell_handle& cell, void set_cell_in_domain(const Cell_handle& cell,
const Subdomain_index& index) const Subdomain_index& index)
{ {
r_c3t3_.add_to_complex(cell, index); r_c3t3_.add_to_complex(cell, index);
} }
/// Removes `cell` from domain /// Removes `cell` from domain.
void remove_cell_from_domain(const Cell_handle& cell) void remove_cell_from_domain(const Cell_handle& cell)
{ {
r_c3t3_.remove_from_complex(cell); r_c3t3_.remove_from_complex(cell);
} }
/// Sets index and dimension of vertex `v` /// Sets index and dimension of vertex `v`.
void set_vertex_properties(Vertex_handle& v, const Index& index) void set_vertex_properties(Vertex_handle& v, const Index& index)
{ {
r_c3t3_.set_index(v, index); r_c3t3_.set_index(v, index);

View File

@ -409,19 +409,19 @@ protected:
return ( (facet < mirror)?facet:mirror ); return ( (facet < mirror)?facet:mirror );
} }
/// Returns true if `f` has already been visited /// Returns true if `f` has already been visited.
bool is_facet_visited(const Facet& f) const bool is_facet_visited(const Facet& f) const
{ {
return f.first->is_facet_visited(f.second); return f.first->is_facet_visited(f.second);
} }
/// Sets facet `f` to visited /// Sets facet `f` to visited.
void set_facet_visited(Facet& f) const void set_facet_visited(Facet& f) const
{ {
f.first->set_facet_visited(f.second); f.first->set_facet_visited(f.second);
} }
/// Sets the facet `f` and its mirrored facet's surface centers to `p` /// Sets the facet `f` and its mirrored facet's surface centers to `p`.
void set_facet_surface_center(const Facet& f, void set_facet_surface_center(const Facet& f,
const Bare_point& p, const Bare_point& p,
const Index& index) const const Index& index) const
@ -435,13 +435,13 @@ protected:
mirror.first->set_facet_surface_center_index(mirror.second,index); mirror.first->set_facet_surface_center_index(mirror.second,index);
} }
/// Returns facet surface center of `f` /// Returns facet surface center of `f`.
Bare_point get_facet_surface_center(const Facet& f) const Bare_point get_facet_surface_center(const Facet& f) const
{ {
return f.first->get_facet_surface_center(f.second); return f.first->get_facet_surface_center(f.second);
} }
/// Returns index of surface center of facet `f` /// Returns index of surface center of facet `f`.
Index get_facet_surface_center_index(const Facet& f) const Index get_facet_surface_center_index(const Facet& f) const
{ {
return f.first->get_facet_surface_center_index(f.second); return f.first->get_facet_surface_center_index(f.second);
@ -454,13 +454,13 @@ protected:
r_c3t3_.add_to_complex(f, index); r_c3t3_.add_to_complex(f, index);
} }
/// Returns index of facet `f` /// Returns index of facet `f`.
Surface_patch_index get_facet_surface_index(const Facet& f) const Surface_patch_index get_facet_surface_index(const Facet& f) const
{ {
return r_c3t3_.surface_patch_index(f.first, f.second); return r_c3t3_.surface_patch_index(f.first, f.second);
} }
/// Sets index and dimension of vertex `v` /// Sets index and dimension of vertex `v`.
void set_vertex_properties(Vertex_handle& v, const Index& index) void set_vertex_properties(Vertex_handle& v, const Index& index)
{ {
r_c3t3_.set_index(v, index); r_c3t3_.set_index(v, index);
@ -560,7 +560,7 @@ protected:
return r_c3t3_.is_in_complex(f) ; return r_c3t3_.is_in_complex(f) ;
} }
/// Removes `f` from surface facets /// Removes `f` from surface facets.
void remove_facet_from_surface(const Facet& f) void remove_facet_from_surface(const Facet& f)
{ {
r_c3t3_.remove_from_complex(f); r_c3t3_.remove_from_complex(f);
@ -595,7 +595,7 @@ protected:
void treat_new_facet(Facet& facet); void treat_new_facet(Facet& facet);
/** /**
* Computes at once is_facet_on_surface and facet_surface_center. * Computes simultaneously `is_facet_on_surface` and `facet_surface_center`.
* @param facet The input facet * @param facet The input facet
* @return `true` if `facet` is on surface, `false` otherwise * @return `true` if `facet` is on surface, `false` otherwise
*/ */
@ -835,12 +835,12 @@ public:
Container_::get_next_local_element_impl()); Container_::get_next_local_element_impl());
} }
/// Tests if `p` encroaches facet from zone /// Tests if `p` encroaches facet from `zone`.
// For sequential // For sequential
Mesher_level_conflict_status Mesher_level_conflict_status
test_point_conflict_from_superior_impl(const Weighted_point& p, Zone& zone); test_point_conflict_from_superior_impl(const Weighted_point& p, Zone& zone);
/// Tests if `p` encroaches facet from zone /// Tests if `p` encroaches facet from `zone`.
// For parallel // For parallel
template <typename Mesh_visitor> template <typename Mesh_visitor>
Mesher_level_conflict_status Mesher_level_conflict_status
@ -875,7 +875,7 @@ public:
, bool &facet_is_in_its_cz , bool &facet_is_in_its_cz
, bool &could_lock_zone); , bool &could_lock_zone);
/// Insert `p` into the triangulation /// Inserts `p` into the triangulation.
Vertex_handle insert_impl(const Weighted_point& p, const Zone& zone); Vertex_handle insert_impl(const Weighted_point& p, const Zone& zone);
bool try_lock_element(const Facet &f, int lock_radius = 0) const bool try_lock_element(const Facet &f, int lock_radius = 0) const

View File

@ -553,7 +553,7 @@ private:
int build_priority_queue(const FT& sliver_bound, PQueue& pqueue) const; int build_priority_queue(const FT& sliver_bound, PQueue& pqueue) const;
/** /**
* Updates priority queue for all vertices of `vertices` * Updates priority queue for all vertices of `vertices`.
*/ */
// Sequential // Sequential
int update_priority_queue(const Vertex_vector& vertices, int update_priority_queue(const Vertex_vector& vertices,
@ -568,7 +568,7 @@ private:
#endif #endif
/** /**
* Updates `pv` in priority queue * Updates `pv` in priority queue.
*/ */
int update_priority_queue(const PVertex& pv, PQueue& pqueue) const; int update_priority_queue(const PVertex& pv, PQueue& pqueue) const;
@ -582,7 +582,7 @@ private:
) const; ) const;
/** /**
* Returns a pvertex from a vertex handle `vh`, using id `pv_id` * Returns a pvertex from a vertex handle `vh`, using the id `pv_id`.
*/ */
PVertex PVertex
make_pvertex(const Vertex_handle& vh, make_pvertex(const Vertex_handle& vh,
@ -595,13 +595,13 @@ private:
const typename PVertex::id_type& pv_id) const; const typename PVertex::id_type& pv_id) const;
/** /**
* Updates a pvertex `pv` * Updates a pvertex `pv`.
*/ */
void update_pvertex(PVertex& pv, const FT& sliver_bound) const; void update_pvertex(PVertex& pv, const FT& sliver_bound) const;
void update_pvertex__concurrent(PVertex& pv, const FT& sliver_bound) const; void update_pvertex__concurrent(PVertex& pv, const FT& sliver_bound) const;
/** /**
* Returns `vh` pvertex id * Returns `vh` pvertex id.
*/ */
typename PVertex::id_type get_pvertex_id(const Vertex_handle& vh) const typename PVertex::id_type get_pvertex_id(const Vertex_handle& vh) const
{ {
@ -609,7 +609,7 @@ private:
} }
/** /**
* Update bad vertices vector, wrt `sliver_bound` * Updates bad vertices vector, wrt. `sliver_bound`.
*/ */
// Sequential // Sequential
void update_bad_vertices(std::vector<Vertex_handle> &bad_vertices, void update_bad_vertices(std::vector<Vertex_handle> &bad_vertices,

View File

@ -172,7 +172,7 @@ protected:
}; };
/** /**
* Delete cells of `cells` from `cells_queue` * Deletes cells of `cells` from `cells_queue`.
*/ */
void delete_cells_from_queue(const Cell_vector& cells) void delete_cells_from_queue(const Cell_vector& cells)
{ {
@ -300,7 +300,7 @@ protected:
}; };
/** /**
* Delete cells of `cells` from `cells_queue` * Deletes cells of `cells` from `cells_queue`.
*/ */
void delete_cells_from_queue(const Cell_vector& cells) void delete_cells_from_queue(const Cell_vector& cells)
{ {
@ -595,7 +595,7 @@ private:
/** /**
* Returns the `Boundary_facets_from_outside` object containing mirror facets * Returns the `Boundary_facets_from_outside` object containing mirror facets
* of `facets` * of `facets`.
*/ */
Boundary_facets_from_outside Boundary_facets_from_outside
get_boundary_facets_from_outside(const Facet_vector& facets) const get_boundary_facets_from_outside(const Facet_vector& facets) const
@ -616,7 +616,7 @@ private:
} }
/** /**
* Add a cell `ch` to `cells_queue` * Adds a cell `ch` to `cells_queue`.
*/ */
template <bool pump_vertices_on_surfaces> template <bool pump_vertices_on_surfaces>
void add_cell_to_queue(Cell_handle ch, FT criterion_value) void add_cell_to_queue(Cell_handle ch, FT criterion_value)
@ -651,7 +651,7 @@ private:
}; };
/** /**
* Removes objects of [begin,end[ range from `c3t3_` * Removes objects of [begin,end[ range from `c3t3_`.
*/ */
template<typename ForwardIterator> template<typename ForwardIterator>
void remove_from_c3t3(ForwardIterator begin, ForwardIterator end) void remove_from_c3t3(ForwardIterator begin, ForwardIterator end)
@ -853,7 +853,7 @@ private:
/** /**
* Checks if the sliver criterion values from `criterion_values` are the same as * Checks if the sliver criterion values from `criterion_values` are the same as
* those that will be found if wp is inserted in the triangulation * those that will be found if wp is inserted in the triangulation.
*/ */
bool check_ratios(const Sliver_values& criterion_values, bool check_ratios(const Sliver_values& criterion_values,
const Weighted_point& wp, const Weighted_point& wp,

View File

@ -109,8 +109,8 @@ public:
~Triangulation_helpers() {} ~Triangulation_helpers() {}
/** /**
* Returns true if moving `v` to `p` makes no topological * Returns `true` if moving `v` to `p` makes no topological
* change in `tr` * change in `tr`.
*/ */
bool no_topological_change(Tr& tr, bool no_topological_change(Tr& tr,
const Vertex_handle v, const Vertex_handle v,
@ -137,7 +137,7 @@ public:
const Bare_point& p) const; const Bare_point& p) const;
/** /**
* Returns the squared distance from `vh` to its closest vertex * Returns the squared distance from `vh` to its closest vertex.
* *
* \pre `vh` is not the infinite vertex * \pre `vh` is not the infinite vertex
*/ */
@ -156,7 +156,7 @@ public:
private: private:
/** /**
* Returns true if `v` is well_oriented on each cell of `cell_tos` * Returns `true` if `v` is well_oriented on each cell of `cell_tos`.
*/ */
// For sequential version // For sequential version
bool well_oriented(const Tr& tr, bool well_oriented(const Tr& tr,

View File

@ -73,7 +73,7 @@ public:
Triangulation_sizing_field(const Tr& tr); Triangulation_sizing_field(const Tr& tr);
/** /**
* Fill sizing field, using size associated to point in `value_map`. * Fills the sizing field, using size associated to point in `value_map`.
*/ */
void fill(const std::map<Weighted_point, FT>& value_map); void fill(const std::map<Weighted_point, FT>& value_map);

View File

@ -31,4 +31,4 @@ namespace parameters {
} } // end of CGAL::parameters namespace } } // end of CGAL::parameters namespace
#endif //CGAL_MESH_3_PARAMETERS_H #endif //CGAL_MESH_3_PARAMETERS_H

View File

@ -108,7 +108,7 @@ angle_in_radian(const Vector_3& u, const Vector_3& v)
} }
/** /**
* @brief Returns the squared length of edge `e` * @brief Returns the squared length of edge `e`.
*/ */
template <typename Tr> template <typename Tr>
typename Tr::Geom_traits::FT typename Tr::Geom_traits::FT
@ -134,7 +134,7 @@ edge_sq_length(const typename Tr::Edge& e,
/** /**
* @brief Returns the minimal incident edge length of `v` * @brief Returns the minimal incident edge length of `v`
* in triangulation `tr` * in triangulation `tr`.
*/ */
template <typename Tr> template <typename Tr>
typename Tr::Geom_traits::FT typename Tr::Geom_traits::FT
@ -1054,7 +1054,7 @@ private:
} }
/** /**
* @brief returns the cotangent of `value` * @brief returns the cotangent of `value`.
*/ */
FT cotangent(const FT& value) const FT cotangent(const FT& value) const
{ {
@ -1062,8 +1062,8 @@ private:
} }
/** /**
* @brief returns the normal of facet (ch,i), oriented from inside to outside * @brief returns the normal of facet `(ch,i)`, oriented from inside to outside
* of `ch` * of `ch`.
*/ */
Vector_3 normal_estimate(const C3T3& c3t3, const Cell_handle& ch, const int i) const Vector_3 normal_estimate(const C3T3& c3t3, const Cell_handle& ch, const int i) const
{ {
@ -1157,7 +1157,7 @@ protected:
FT sphere_sq_radius() const { return sphere_sq_radius_; } FT sphere_sq_radius() const { return sphere_sq_radius_; }
/** /**
* @brief returns a FT between `min` and `max` * @brief returns a FT between `min` and `max`.
*/ */
FT random_ft(const FT& min = FT(0.), const FT& max = FT(1.)) const FT random_ft(const FT& min = FT(0.), const FT& max = FT(1.)) const
{ {
@ -1166,7 +1166,7 @@ protected:
} }
/** /**
* @brief returns a random vector with size `vector_size` * @brief returns a random vector with size `vector_size`.
*/ */
Vector_3 random_vector_fixed_size(const C3T3& c3t3, Vector_3 random_vector_fixed_size(const C3T3& c3t3,
const FT& vector_sq_size) const const FT& vector_sq_size) const
@ -1184,7 +1184,7 @@ protected:
} }
/** /**
* @brief returns a random vector with size between 0 and `vector_size` * @brief returns a random vector with size between 0 and `vector_size`.
*/ */
Vector_3 random_vector_max_size(const C3T3& c3t3, Vector_3 random_vector_max_size(const C3T3& c3t3,
const FT& vector_max_sq_size) const const FT& vector_max_sq_size) const
@ -1299,7 +1299,7 @@ private:
// ----------------------------------- // -----------------------------------
/** /**
* @brief try to improve mesh using random moves of `v` * @brief tries to improve mesh using random moves of `v`.
*/ */
std::pair<bool,Vertex_handle> std::pair<bool,Vertex_handle>
apply_perturbation(const Vertex_handle& v, apply_perturbation(const Vertex_handle& v,
@ -1410,7 +1410,7 @@ private:
} }
private: private:
// If set to `true`, then random point will be generated on sphere surface. // If set to `true`, then random points will be generated on sphere surface.
bool on_sphere_; bool on_sphere_;
}; };

View File

@ -57,7 +57,7 @@ public:
return d_; return d_;
} }
/// Sets size at any point of dimension `dim` and index `index` /// Sets size at any point of dimension `dim` and index `index`.
void set_size(const FT& size, const int dim, const Index& index) void set_size(const FT& size, const int dim, const Index& index)
{ {
values_.insert(std::make_pair(std::make_pair(dim,index),size)); values_.insert(std::make_pair(std::make_pair(dim,index),size));

View File

@ -134,7 +134,7 @@ and `MeshCriteriaWithFeatures_3`.
It gathers the refinement criteria for mesh tetrahedra and It gathers the refinement criteria for mesh tetrahedra and
surface facets where surface facets where
surface facets are facets in the mesh approximating the domain surface patches. surface facets are facets in the mesh approximating the domain surface patches.
In addition, for domain with exposed 1-dimensional features, In addition, for domains with exposed 1-dimensional features,
the class `Mesh_criteria_3` the class `Mesh_criteria_3`
handles the definition of a sizing field to guide the discretization of handles the definition of a sizing field to guide the discretization of
1-dimensional features. 1-dimensional features.
@ -228,7 +228,7 @@ typedef Mesh_cell_criteria_3<Tr> Cell_criteria;
: Base(facet_criteria, : Base(facet_criteria,
cell_criteria) {} cell_criteria) {}
/// Constructor from edge, face and cell criteria. /// Constructor from edge, face, and cell criteria.
Mesh_criteria_3(Edge_criteria edge_criteria, Mesh_criteria_3(Edge_criteria edge_criteria,
Facet_criteria facet_criteria, Facet_criteria facet_criteria,
Cell_criteria cell_criteria) Cell_criteria cell_criteria)

View File

@ -228,7 +228,7 @@ public:
return result; return result;
} }
/// Returns signed geodesic distance between `p` and `q` /// Returns signed geodesic distance between `p` and `q`.
FT signed_geodesic_distance(const Point_3& p, const Point_3& q) const FT signed_geodesic_distance(const Point_3& p, const Point_3& q) const
{ {
// Locate p & q on polyline // Locate p & q on polyline
@ -587,7 +587,7 @@ public:
/// Add a 0-dimensional feature in the domain. /// Add a 0-dimensional feature in the domain.
Corner_index add_corner(const Point_3& p); Corner_index add_corner(const Point_3& p);
/// Overloads where the last parameter `out` is not `CGAL::Emptyset_iterator()`. /// Overload where the last parameter `out` is not `CGAL::Emptyset_iterator()`.
template <typename InputIterator, typename IndicesOutputIterator> template <typename InputIterator, typename IndicesOutputIterator>
IndicesOutputIterator IndicesOutputIterator
add_corners(InputIterator first, InputIterator end, add_corners(InputIterator first, InputIterator end,

View File

@ -391,14 +391,14 @@ struct C3t3_initializer < C3T3, MD, MC, true, CGAL::Tag_false >
* \cgalParamDescription{`exude_mesh_3()` can optionally be called after the meshing process. * \cgalParamDescription{`exude_mesh_3()` can optionally be called after the meshing process.
* Two named parameters control this behavior: * Two named parameters control this behavior:
* <UL> * <UL>
* <LI> `parameters::exude()`
* <LI> `parameters::no_exude()` * <LI> `parameters::no_exude()`
* <LI> `parameters::exude()`
* </UL>} * </UL>}
* \cgalParamDefault{`parameters::exude()`} * \cgalParamDefault{`parameters::exude()`}
* \cgalParamSectionEnd * \cgalParamSectionEnd
* \cgalNamedParamsEnd * \cgalNamedParamsEnd
* *
* Note that whatever may be the optimization processes activated, * Note that regardless of which optimization processes are activated,
* they are always launched in the order that is a suborder * they are always launched in the order that is a suborder
* of the following (see user manual for further * of the following (see user manual for further
* details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*. * details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*.

View File

@ -115,7 +115,7 @@ private:
* etc. * etc.
* *
* The optimization phase is a sequence of optimization processes, * The optimization phase is a sequence of optimization processes,
* amongst the following available optimizers: an ODT-smoothing, * amongst the following available optimizers: an ODT smoothing,
* a Lloyd smoothing, a sliver perturber, and a sliver exuder. * a Lloyd smoothing, a sliver perturber, and a sliver exuder.
* Each optimization process * Each optimization process
* can be activated or not, * can be activated or not,
@ -231,7 +231,7 @@ private:
* The optimization parameters can be passed in arbitrary order. If one parameter * The optimization parameters can be passed in arbitrary order. If one parameter
* is not passed, its default value is used. The default values are * is not passed, its default value is used. The default values are
* `no_lloyd()`, `no_odt()`, `perturb()` and `exude()`. * `no_lloyd()`, `no_odt()`, `perturb()` and `exude()`.
* Note that whatever may be the optimization processes activated, * Note that regardless of which optimization processes are activated,
* they are always launched in the order that is a suborder * they are always launched in the order that is a suborder
* of the following (see user manual for further * of the following (see user manual for further
* details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*. * details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*.

View File

@ -290,7 +290,7 @@ struct C3t3_initializer<C3T3, MeshDomain, MeshCriteria, true, CGAL::Tag_true>
* is not passed, its default value is used. The default values are * is not passed, its default value is used. The default values are
* `no_lloyd()`, `no_odt()`, `perturb()` and `exude()`. * `no_lloyd()`, `no_odt()`, `perturb()` and `exude()`.
* *
* Note that whatever may be the optimization processes activated, * Note that regardless of which optimization processes are activated,
* they are always launched in the order that is a suborder * they are always launched in the order that is a suborder
* of the following (see user manual for further * of the following (see user manual for further
* details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*. * details): *ODT-smoother*, *Lloyd-smoother*, *perturber*, and *exuder*.

View File

@ -31,7 +31,7 @@ namespace CGAL {
* improves the quality of a Delaunay mesh by changing the positions of some vertices of the mesh. * improves the quality of a Delaunay mesh by changing the positions of some vertices of the mesh.
* *
* This function directly calls `perturb_mesh_3()`, but is provided for convenience. * This function directly calls `perturb_mesh_3()`, but is provided for convenience.
* Further information can be found on the documentation of the function `perturb_mesh_3()`. * Further information can be found in the documentation of the function `perturb_mesh_3()`.
*/ */
template<typename C3T3, typename MeshDomain, typename CGAL_NP_TEMPLATE_PARAMETERS> template<typename C3T3, typename MeshDomain, typename CGAL_NP_TEMPLATE_PARAMETERS>
Mesh_optimization_return_code perturb_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, const CGAL_NP_CLASS& np = parameters::default_values()) Mesh_optimization_return_code perturb_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, const CGAL_NP_CLASS& np = parameters::default_values())
@ -84,7 +84,7 @@ Mesh_optimization_return_code perturb_periodic_3_mesh_3(const CGAL_NP_CLASS_1&
* this optimization has been performed, all improvements will be lost. * this optimization has been performed, all improvements will be lost.
* *
* This function directly calls `exude_mesh_3()`, but is provided for convenience. * This function directly calls `exude_mesh_3()`, but is provided for convenience.
* Further information can be found on the documentation of the function `exude_mesh_3()`. * Further information can be found in the documentation of the function `exude_mesh_3()`.
*/ */
template<typename C3T3, typename CGAL_NP_TEMPLATE_PARAMETERS> template<typename C3T3, typename CGAL_NP_TEMPLATE_PARAMETERS>
Mesh_optimization_return_code exude_periodic_3_mesh_3(C3T3& c3t3,const CGAL_NP_CLASS& np = parameters::default_values()) Mesh_optimization_return_code exude_periodic_3_mesh_3(C3T3& c3t3,const CGAL_NP_CLASS& np = parameters::default_values())
@ -128,7 +128,7 @@ Mesh_optimization_return_code exude_periodic_3_mesh_3(const CGAL_NP_CLASS_1& np
* process based on the minimization of a global energy function. * process based on the minimization of a global energy function.
* *
* This function directly calls `odt_optimize_mesh_3()`, but is provided for convenience. * This function directly calls `odt_optimize_mesh_3()`, but is provided for convenience.
* Further information can be found on the documentation of the function `odt_optimize_mesh_3()`. * Further information can be found in the documentation of the function `odt_optimize_mesh_3()`.
*/ */
template<typename C3T3,typename MeshDomain,typename CGAL_NP_TEMPLATE_PARAMETERS> template<typename C3T3,typename MeshDomain,typename CGAL_NP_TEMPLATE_PARAMETERS>
Mesh_optimization_return_code odt_optimize_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, const CGAL_NP_CLASS& np = parameters::default_values()) Mesh_optimization_return_code odt_optimize_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, const CGAL_NP_CLASS& np = parameters::default_values())
@ -175,7 +175,7 @@ Mesh_optimization_return_code odt_optimize_periodic_3_mesh_3(const CGAL_NP_CLASS
* process based on the minimization of a global energy function. * process based on the minimization of a global energy function.
* *
* This function directly calls `lloyd_optimize_mesh_3()`, but is provided for convenience. * This function directly calls `lloyd_optimize_mesh_3()`, but is provided for convenience.
* Further information can be found on the documentation of the function `lloyd_optimize_mesh_3()`. * Further information can be found in the documentation of the function `lloyd_optimize_mesh_3()`.
* *
* \note This function requires the \ref thirdpartyEigen library. * \note This function requires the \ref thirdpartyEigen library.
*/ */