From dce9cc543c8a16b32d7bca9ef8dd62ea82db31eb Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Fri, 14 Sep 2012 09:48:56 +0000 Subject: [PATCH] mainly \tparam --- .../doc/Mesh_3/CGAL/Implicit_mesh_domain_3.h | 15 ++-- .../Mesh_3/CGAL/Labeled_image_mesh_domain_3.h | 6 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_base_3.h | 10 +-- Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_criteria_3.h | 7 +- .../CGAL/Mesh_complex_3_in_triangulation_3.h | 12 ++-- .../CGAL/Mesh_constant_domain_field_3.h | 4 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_criteria_3.h | 5 +- .../Mesh_domain_with_polyline_features_3.h | 5 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_edge_criteria_3.h | 2 +- .../doc/Mesh_3/CGAL/Mesh_facet_criteria_3.h | 7 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_polyhedron_3.h | 5 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h | 7 +- Mesh_3/doc/Mesh_3/CGAL/Mesh_vertex_base_3.h | 8 +-- .../Mesh_3/CGAL/Polyhedral_mesh_domain_3.h | 8 +-- .../Polyhedral_mesh_domain_with_features_3.h | 4 +- Mesh_3/doc/Mesh_3/CGAL/Triangle_accessor_3.h | 4 +- Mesh_3/doc/Mesh_3/CGAL/exude_mesh_3.h | 17 ++--- .../doc/Mesh_3/CGAL/lloyd_optimize_mesh_3.h | 22 +++--- Mesh_3/doc/Mesh_3/CGAL/make_mesh_3.h | 33 +++++---- Mesh_3/doc/Mesh_3/CGAL/odt_optimize_mesh_3.h | 23 +++--- Mesh_3/doc/Mesh_3/CGAL/perturb_mesh_3.h | 21 +++--- Mesh_3/doc/Mesh_3/CGAL/refine_mesh_3.h | 71 ++++++++++++------- 22 files changed, 135 insertions(+), 161 deletions(-) diff --git a/Mesh_3/doc/Mesh_3/CGAL/Implicit_mesh_domain_3.h b/Mesh_3/doc/Mesh_3/CGAL/Implicit_mesh_domain_3.h index 9a82d7e8ece..86d9daa313d 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Implicit_mesh_domain_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Implicit_mesh_domain_3.h @@ -10,22 +10,19 @@ The domain to be discretized is assumed to be the domain where the function has negative values. This class is a model of the concept `MeshDomain_3`. -Parameters --------------- -Parameter `BGT` is a geometric traits which provides -the basic operations to implement -intersection tests and computations -through a bisection method. This parameter must be instantiated -with a model of the concept `BisectionGeometricTraits_3`. - -Parameter `Function` provides the definition of the function. +\tparam Function provides the definition of the function. This parameter stands for a model of the concept `ImplicitFunction` described in the surface mesh generation package. The number types `Function::FT` and `BGT::FT` are required to match. +\tparam BGT is a geometric traits which provides the basic operations to implement +intersection tests and computations +through a bisection method. This parameter must be instantiated +with a model of the concept `BisectionGeometricTraits_3`. + The constructor of `Implicit_mesh_domain_3` takes as argument a bounding sphere which is required to circumscribe the surface and to have its center inside the diff --git a/Mesh_3/doc/Mesh_3/CGAL/Labeled_image_mesh_domain_3.h b/Mesh_3/doc/Mesh_3/CGAL/Labeled_image_mesh_domain_3.h index d013010e160..c37d515f2f9 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Labeled_image_mesh_domain_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Labeled_image_mesh_domain_3.h @@ -19,14 +19,12 @@ The bisection stops when the query segment is shorter than a given error bound length of the diagonal of the bounding box (in world coordinates) and `bound` is the argument passed to the constructor of `Labeled_image_mesh_domain_3`. -Parameters --------------- -Parameter `Image` is the type of the input image. +\tparam Image is the type of the input image. This parameter must be a model of the concept `LabeledImage_3`. -Parameter `BGT` is a geometric traits class which provides +\tparam BGT is a geometric traits class which provides the basic operations to implement intersection tests and intersection computations through a bisection method. This parameter must be instantiated diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_base_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_base_3.h index 74038e32f1b..19d804241eb 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_base_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_base_3.h @@ -7,18 +7,14 @@ The class `Mesh_cell_base_3` is a model of the concept `MeshCellBase_3`. It is designed to serve as cell base class for the 3D triangulation used in the 3D mesh generation process. -Parameters --------------- - -The template parameter `MD` provides the types of indices -used to identify +\tparam MD provides the types of indices used to identify the faces of the input complex. It has to be a model of the concept `MeshDomain_3`. -The template parameter `Gt` is the geometric traits class. +\tparam Gt is the geometric traits class. It has to be a model of the concept `RegularTriangulationTraits_3`. -The third parameter `Cb` is the cell base class. It has to be a model +\tparam Cb is the cell base class. It has to be a model of the concept `RegularTriangulationCellBase_3` and defaults to `Regular_triangulation_cell_base_3`. diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_criteria_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_criteria_3.h index 13e1592f2d2..24be8520ce9 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_criteria_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_cell_criteria_3.h @@ -8,10 +8,7 @@ for the mesh tetrahedra, a uniform shape criteria and a sizing field which may be a uniform or variable field. -Parameters --------------- - -The parameter `Tr` must be identical to the nested type +\tparam Tr must be identical to the nested type `Triangulation` of the instance used as model of `MeshComplex_3InTriangulation_3`. @@ -19,7 +16,7 @@ The parameter `Tr` must be identical to the nested type \sa `MeshCriteria_3` \sa `MeshCellCriteria_3` -\sa `Mesh_criteria_3` +\sa `CGAL::Mesh_criteria_3` \sa `CGAL::make_mesh_3` */ diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_complex_3_in_triangulation_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_complex_3_in_triangulation_3.h index 850b5e32a81..c7180e7754b 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_complex_3_in_triangulation_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_complex_3_in_triangulation_3.h @@ -10,17 +10,17 @@ generation process. This class is a model of the concept `MeshComplexWithFeatures_3InTriangulation_3`. -Parameters --------------- -The template parameter `Tr` can be instantiated with any 3D +\tparam Tr can be instantiated with any 3D regular triangulation of \cgal provided that its vertex and cell base class are models of the concepts `MeshVertexBase_3` and `MeshCellBase_3`, respectively. -The template parameter `CornerIndex` is the type of the indices for corners and -the template parameter `CurveSegmentIndex` is the type of the indices for curves segments. -They must match the `Corner_index` and `Curve_segment_index` types of the model +\tparam CornerIndex is the type of the indices for corners. It must match the `Corner_index` of the model +of the `MeshDomainWithFeatures_3` concept used for mesh generation. + +\tparam CurveSegmentIndex is the type of the indices for curves segments. +It must match the `Curve_segment_index` types of the model of the `MeshDomainWithFeatures_3` concept used for mesh generation. Those two last template parameters defaults to `int`, so that they can be ignored diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_constant_domain_field_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_constant_domain_field_3.h index 654009c947b..04a2d1614d7 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_constant_domain_field_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_constant_domain_field_3.h @@ -13,11 +13,11 @@ of the domain. Parameters -------------- -The parameter `Gt` is the geometric traits class. It must match the type `Triangulation::Geom_traits`, +\tparam Gt is the geometric traits class. It must match the type `Triangulation::Geom_traits`, where `Triangulation` is the nested type of the model of `MeshComplex_3InTriangulation_3` used in the meshing process. -The parameter `Index` is the type of index of the vertices of the triangulation. +\tparam Index is the type of index of the vertices of the triangulation. It must match the type `Index` of the model of `MeshDomain_3` used in the meshing process. \models ::MeshDomainField_3 diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_criteria_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_criteria_3.h index dfa5726cbb2..0f271eae2a4 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_criteria_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_criteria_3.h @@ -13,10 +13,7 @@ the class `Mesh_criteria_3` handles the definition of a sizing field to guide the discretization of 1-dimensional features. -Parameters --------------- - -The parameter `Tr` has to be instantiated with the type used for +\tparam Tr has to be instantiated with the type used for `C3T3::Triangulation`, where `C3T3` is the model of `MeshComplex_3InTriangulation_3` used in the mesh generation process, diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_domain_with_polyline_features_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_domain_with_polyline_features_3.h index 77b562eec8e..03698996581 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_domain_with_polyline_features_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_domain_with_polyline_features_3.h @@ -9,10 +9,7 @@ features into any model of the `MeshDomain_3` concept. The 1-dimensional features are described as polylines whose endpoints are the added corners. -Parameters --------------- - -The template parameter `MeshDomain_3` is the type +\tparam MeshDomain_3 is the type of the domain which should be extended. It has to be a model of the `MeshDomain_3` concept. diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_edge_criteria_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_edge_criteria_3.h index ab38e69c7b3..a5aedb1d2ca 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_edge_criteria_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_edge_criteria_3.h @@ -10,7 +10,7 @@ provides a bound for the size criterion. \sa `MeshEdgeCriteria_3` \sa `MeshCriteria_3` -\sa `Mesh_criteria_3` +\sa `CGAL::Mesh_criteria_3` \sa `MeshDomainField_3` */ diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_facet_criteria_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_facet_criteria_3.h index 9c20dcbaeff..c2bbe68ac16 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_facet_criteria_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_facet_criteria_3.h @@ -10,10 +10,7 @@ for the size criterion and/or a uniform or variable distance field for the approximation error criterion. -Parameters --------------- - -The parameter `Tr` must be identical to the nested type +\tparam Tr must be identical to the nested type `Triangulation` of the instance used as model of `MeshComplex_3InTriangulation_3`. @@ -22,7 +19,7 @@ The parameter `Tr` must be identical to the nested type \sa `CGAL::Mesh_facet_topology` \sa `MeshCriteria_3` \sa `MeshFacetCriteria_3` -\sa `Mesh_criteria_3` +\sa `CGAL::Mesh_criteria_3` \sa `MeshDomainField_3` \sa `CGAL::make_mesh_3` diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_polyhedron_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_polyhedron_3.h index e6ae758fab5..aa378c87160 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_polyhedron_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_polyhedron_3.h @@ -8,10 +8,7 @@ as `PolyhedronItems_3` a customized type which adds data to the Vertex, Face and Halfedge class. Those data are required to use our sharp features detection algorithm. -Parameters --------------- - -Template parameter `IGT` stands for the geometric traits associated +\tparam IGT stands for the geometric traits associated to the meshing process. It should be a model of the two concepts `PolyhedronTraits_3` and `IntersectionGeometricTraits_3`. diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h index 8b695a882ff..959ee3c1378 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_triangulation_3.h @@ -6,12 +6,9 @@ namespace CGAL { The class `Mesh_triangulation_3` provides a default triangulation to be used as the 3D triangulation of a mesh generation process. -Parameters --------------- +\tparam MD stands for a model of `MeshDomain_3`. -Template parameter `MD` stands for a model of `MeshDomain_3`. - -Template parameter `Gt` stands for a model of `RegularTriangulationTraits_3` +\tparam Gt stands for a model of `RegularTriangulationTraits_3` and defaults to `Kernel_traits::Kernel`. \sa `CGAL::make_mesh_3` diff --git a/Mesh_3/doc/Mesh_3/CGAL/Mesh_vertex_base_3.h b/Mesh_3/doc/Mesh_3/CGAL/Mesh_vertex_base_3.h index 3916b67302d..91191787555 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Mesh_vertex_base_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Mesh_vertex_base_3.h @@ -7,18 +7,16 @@ The class `Mesh_vertex_base_3` is a model of the concept `MeshVertexBase_3`. It is designed to serve as vertex base class for the 3D triangulation used in a 3D mesh generation process. -Parameters --------------- -The template parameter `MD` provides the types of indices +\tparam MD provides the types of indices used to identify the faces of the input complex. It must be a model of the concept `MeshDomain_3`. -The template parameter `Gt` is the geometric traits class. +\tparam Gt is the geometric traits class. It must be a model of the concept `RegularTriangulationTraits_3`. -The third parameter `Vb` is the vertex base class. It has to be a model +\tparam Vb is the vertex base class. It has to be a model of the concept `TriangulationVertexBase_3` and defaults to `Triangulation_vertex_base_3`. diff --git a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h index 0ffb63500eb..d652a7ed1b3 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h @@ -8,21 +8,19 @@ a domain whose boundary is a simplicial polyhedral surface. This surface must be closed and free of intersection. This class is a model of the concept `MeshDomain_3`. -Parameters --------------- -The parameter `Polyhedron` stands for the type of the input polyhedral surface. +\tparam Polyhedron stands for the type of the input polyhedral surface. The only requirements for this type is that the triangles of the surfaces must be accessible through an object of the class `TriangleAccessor`. -The parameter `IGT` stands for a geometric traits class +\tparam IGT stands for a geometric traits class providing the types and functors required to implement the intersection tests and intersection computations for polyhedral boundary surfaces. This parameter has to be instantiated with a model of the concept `IntersectionGeometricTraits_3`. -The parameter `TriangleAccessor` provides access to the triangles +\tparam TriangleAccessor provides access to the triangles of the input polyhedral surface. It must be a model of the concept `TriangleAccessor_3`. It defaults to diff --git a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h index 5c888959d5d..7f5ff4d8bf6 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h @@ -10,10 +10,8 @@ It is a model of the concept `MeshDomainWithFeatures_3`. It also provides a member function to automatically detect sharp features from the input polyhedral surface. -Parameters --------------- -The parameter `IGT` stands for a geometric traits class providing the types +\tparam IGT stands for a geometric traits class providing the types and functors required to implement the intersection tests and intersection computations for polyhedral boundary surfaces. This parameter has to be instantiated with a model of the concept `IntersectionGeometricTraits_3`. diff --git a/Mesh_3/doc/Mesh_3/CGAL/Triangle_accessor_3.h b/Mesh_3/doc/Mesh_3/CGAL/Triangle_accessor_3.h index 1ec8496f168..4982c023f81 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/Triangle_accessor_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/Triangle_accessor_3.h @@ -11,10 +11,8 @@ template `template Triangle_accessor_3`. One may give another partial specialization of this class to handle one's own polyhedron data structure. -Parameters --------------- -The template parameter `K` is the geometric traits class. +\tparam K is the geometric traits class. \models ::TriangleAccessor_3 diff --git a/Mesh_3/doc/Mesh_3/CGAL/exude_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/exude_mesh_3.h index 4d4a1c80bdb..c8f49dfc987 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/exude_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/exude_mesh_3.h @@ -12,10 +12,8 @@ the quality of the mesh improves. \pre `time_limit` \f$ \geq\f$ 0 and 0 \f$ \leq\f$ `sliver_bound` \f$ \leq\f$ 180 -Parameters --------------- -Parameter `C3T3` is required to be a model of the concept +\tparam C3T3 is required to be a model of the concept `MeshComplex_3InTriangulation_3`. The argument `c3t3`, passed by reference, provides the initial mesh @@ -49,12 +47,12 @@ incident to some vertices. Return Values -------------- -The function `exude_mesh_3` returns a value of type `Mesh_optimization_return_code` +The function `exude_mesh_3` returns a value of type `CGAL::Mesh_optimization_return_code` which is:
    -
  • `BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached. -
  • `TIME_LIMIT_REACHED` when the time limit is reached. -
  • `CANT_IMPROVE_ANYMORE` when exudation process stops because it can no longer improve +
  • `CGAL::BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached. +
  • `CGAL::TIME_LIMIT_REACHED` when the time limit is reached. +
  • `CGAL::CANT_IMPROVE_ANYMORE` when exudation process stops because it can no longer improve the smallest dihedral angle of the set of cells incident to some vertex in the mesh.
@@ -62,10 +60,9 @@ Example -------------- \code{.cpp} - // Exude without sliver_bound, using at most 10s CPU time -exude_mesh_3(c3t3, parameters::time_limit=10); - +exude_mesh_3(c3t3, + parameters::time_limit=10); \endcode \sa `CGAL::Mesh_optimization_return_code` diff --git a/Mesh_3/doc/Mesh_3/CGAL/lloyd_optimize_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/lloyd_optimize_mesh_3.h index 7bfeb0486b5..1997ae92cd8 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/lloyd_optimize_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/lloyd_optimize_mesh_3.h @@ -22,17 +22,14 @@ representation of the domain boundaries. \pre `time_limit` \f$ \geq\f$ 0 and 0 \f$ \leq\f$ `convergence` \f$ \leq\f$ 1 and 0 \f$ \leq\f$ `freeze_bound` \f$ \leq\f$ 1 -Parameters --------------- - -Parameter `C3T3` is required to be a model of the concept +\tparam C3T3 is required to be a model of the concept `MeshComplex_3InTriangulation_3`. The argument `c3t3`, passed by reference, provides the initial mesh and is modified by the algorithm to represent the final optimized mesh. -Parameter `MeshDomain_3` is required to be a model of the concept +\tparam MeshDomain_3 is required to be a model of the concept `MeshDomain_3`. The argument `domain` must be the `MeshDomain_3` object used to create the `c3t3` parameter. @@ -67,12 +64,12 @@ moves, unfreezes all its incident vertices. Return Values -------------- -The function `lloyd_optimize_mesh_3` returns a value of type `Mesh_optimization_return_code` +The function `lloyd_optimize_mesh_3` returns a value of type `CGAL::Mesh_optimization_return_code` which is:
    -
  • `TIME_LIMIT_REACHED` when the time limit is reached. -
  • `MAX_ITERATION_NUMBER_REACHED` when `lloyd_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations. -
  • `CONVERGENCE_REACHED` when `lloyd_optimize_mesh_3` stops because the convergence criterion +
  • `CGAL::TIME_LIMIT_REACHED` when the time limit is reached. +
  • `CGAL::MAX_ITERATION_NUMBER_REACHED` when `lloyd_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations. +
  • `CGAL::CONVERGENCE_REACHED` when `lloyd_optimize_mesh_3` stops because the convergence criterion is achieved.
@@ -80,11 +77,12 @@ Example -------------- \code{.cpp} - // Lloyd-smoothing until convergence reaches 0.01, freezing vertices which // move less than 0.001*shortest_incident_edge_length -lloyd_optimize_mesh_3(c3t3, domain, parameters::convergence=0.01, -parameters::freeze_bound=0.001); +lloyd_optimize_mesh_3(c3t3, + domain, + parameters::convergence=0.01, + parameters::freeze_bound=0.001); \endcode diff --git a/Mesh_3/doc/Mesh_3/CGAL/make_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/make_mesh_3.h index a501bf779af..7beb3e018d2 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/make_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/make_mesh_3.h @@ -29,13 +29,10 @@ The function outputs the mesh to an object which provides iterators to traverse the resulting mesh data structure or can be written to a file (see \ref Mesh_3_section_examples ). -Parameters --------------- -Parameter `C3T3` is required to be a model of +\tparam C3T3 is required to be a model of the concept `MeshComplex_3InTriangulation_3`. This is the return type. - The type `C3T3` is in particular required to provide a nested type `C3T3::Triangulation` for the 3D triangulation embedding the mesh. The vertex and cell base classes of the @@ -43,7 +40,7 @@ triangulation `C3T3::Triangulation` are required to be models of the concepts `MeshVertexBase_3` and `MeshCellBase_3` respectively. -Template parameter `MeshDomain_3` is required to be a model of +\tparam MeshDomain_3 is required to be a model of the concept `MeshDomain_3`, or of the refined concept `MeshDomainWithFeatures_3` if the domain has corners and curve segments that need to be accurately represented in the mesh. @@ -51,6 +48,20 @@ The argument `domain` is the sole link through which the domain to be discretized is known by the mesh generation algorithm. + + +\tparam MeshCriteria has to be a model of the concept +`MeshCriteria_3`, or a model of the refined concept `MeshCriteriaWithFeatures_3` if the domain has exposed features. +The argument `criteria` of +type `MeshCriteria` specifies the +size and shape requirements for mesh tetrahedra +and surface facets. These criteria +form the rules which drive the refinement process. All mesh elements +satisfy those criteria at the end of the refinement process. +In addition, if the domain has features, the argument +`criteria` provides a sizing field to guide the discretization +of \f$ 1\f$-dimensional exposed features. + The parameter `features` allows the user to specify if \f$ 0\f$ and \f$ 1\f$-dimensional features actually have to be taken into account or not @@ -66,18 +77,6 @@ if parameter `features` is not specified. of \f$ 0\f$ and \f$ 1\f$-dimensional features in the mesh. -The template parameter `MeshCriteria` has to be a model of the concept -`MeshCriteria_3`, or a model of the refined concept `MeshCriteriaWithFeatures_3` if the domain has exposed features. -The argument `criteria` of -type `MeshCriteria` specifies the -size and shape requirements for mesh tetrahedra -and surface facets. These criteria -form the rules which drive the refinement process. All mesh elements -satisfy those criteria at the end of the refinement process. -In addition, if the domain has features, the argument -`criteria` provides a sizing field to guide the discretization -of \f$ 1\f$-dimensional exposed features. - The four additional parameters are optimization parameters. They control which optimization processes are performed and allow the user to tune the parameters of the optimization processes. diff --git a/Mesh_3/doc/Mesh_3/CGAL/odt_optimize_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/odt_optimize_mesh_3.h index 56cf60eb0b6..e3f87c12d32 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/odt_optimize_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/odt_optimize_mesh_3.h @@ -21,17 +21,14 @@ representation of the domain boundaries. \pre `time_limit` \f$ \geq\f$ 0 and 0 \f$ \leq\f$ `convergence` \f$ \leq\f$ 1 and 0 \f$ \leq\f$ `freeze_bound` \f$ \leq\f$ 1 -Parameters --------------- - -Parameter `C3T3` is required to be a model of the concept +\tparam C3T3 is required to be a model of the concept `MeshComplex_3InTriangulation_3`. The argument `c3t3`, passed by reference, provides the initial mesh and is modified by the algorithm to represent the final optimized mesh. -Parameter `MeshDomain_3` is required to be a model of the concept +\tparam MeshDomain_3 is required to be a model of the concept `MeshDomain_3`. The argument `domain` must be the `MeshDomain_3` object used to create the `c3t3` parameter. @@ -67,12 +64,12 @@ moves, unfreezes the neighboring vertices. Return Values -------------- -The function `odt_optimize_mesh_3` returns a value of type `Mesh_optimization_return_code` +The function `odt_optimize_mesh_3` returns a value of type `CGAL::Mesh_optimization_return_code` which is:
    -
  • `TIME_LIMIT_REACHED` when the time limit is reached. -
  • `MAX_ITERATION_NUMBER_REACHED` when `odt_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations. -
  • `CONVERGENCE_REACHED` when `odt_optimize_mesh_3` stops because the convergence criterion +
  • `CGAL::TIME_LIMIT_REACHED` when the time limit is reached. +
  • `CGAL::MAX_ITERATION_NUMBER_REACHED` when `odt_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations. +
  • `CGAL::CONVERGENCE_REACHED` when `odt_optimize_mesh_3` stops because the convergence criterion is achieved.
@@ -80,11 +77,11 @@ Example -------------- \code{.cpp} - // 100 iterations of Odt-smoothing -odt_optimize_mesh_3(c3t3, domain, parameters::max_iteration_number=100, -parameters::convergence=0); - +odt_optimize_mesh_3(c3t3, + domain, + parameters::max_iteration_number = 100, + parameters::convergence = 0); \endcode \sa `CGAL::Mesh_optimization_return_code` diff --git a/Mesh_3/doc/Mesh_3/CGAL/perturb_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/perturb_mesh_3.h index 76a09208ef1..aaf24c4b9aa 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/perturb_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/perturb_mesh_3.h @@ -16,17 +16,14 @@ The perturber exits if this is not the case. \pre `time_limit` \f$ \geq\f$ 0 and 0 \f$ \leq\f$ `sliver_bound` \f$ \leq\f$ 180 -Parameters --------------- - -Parameter `C3T3` is required to be a model of the concept +\tparam C3T3 is required to be a model of the concept `MeshComplex_3InTriangulation_3`. The argument `c3t3`, passed by reference, provides the initial mesh and is modified by the algorithm to represent the final optimized mesh. -Parameter `MeshDomain_3` is required to be a model of the concept +\tparam MeshDomain_3 is required to be a model of the concept `MeshDomain_3`. The argument `domain` must be the `MeshDomain_3` object used to create the `c3t3` parameter. @@ -55,23 +52,23 @@ steps are successful. Return Values -------------- -The function `perturb_mesh_3` returns a value of type `Mesh_optimization_return_code` +The function `perturb_mesh_3` returns a value of type `CGAL::Mesh_optimization_return_code` which is:
    -
  • `BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached. -
  • `TIME_LIMIT_REACHED` when the time limit is reached. -
  • `CANT_IMPROVE_ANYMORE` when the perturbation process stops because the last step is unsuccessful. +
  • `CGAL::BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached. +
  • `CGAL::TIME_LIMIT_REACHED` when the time limit is reached. +
  • `CGAL::CANT_IMPROVE_ANYMORE` when the perturbation process stops because the last step is unsuccessful.
Example -------------- \code{.cpp} - // Perturb until every dihedral angle of the mesh is >= 10 degrees // No time bound is set -perturb_mesh_3(c3t3, domain, parameters::sliver_bound=10); - +perturb_mesh_3(c3t3, + domain, + parameters::sliver_bound = 10); \endcode \sa `CGAL::Mesh_optimization_return_code` diff --git a/Mesh_3/doc/Mesh_3/CGAL/refine_mesh_3.h b/Mesh_3/doc/Mesh_3/CGAL/refine_mesh_3.h index afe335d6666..7ce52943d54 100644 --- a/Mesh_3/doc/Mesh_3/CGAL/refine_mesh_3.h +++ b/Mesh_3/doc/Mesh_3/CGAL/refine_mesh_3.h @@ -27,10 +27,13 @@ is further refined afterward. \attention The function template `refine_mesh_3` may be used to refine a previously computed mesh, e.g.: + \code{.cpp} C3T3 c3t3 = CGAL::make_mesh_3(domain,criteria); + CGAL::refine_mesh_3(c3t3, domain, new_criteria); \endcode + Please note that we guarantee the result if and only if the domain does not change from one refinement to the next one. @@ -170,11 +173,15 @@ Example -------------- \code{.cpp} - // Mesh generation with an exudation step -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::exude()); -refine_mesh_3(c3t3, domain, criteria, parameters::exude(parameters::time_limit=10)); +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::exude()); +refine_mesh_3(c3t3, + domain, + criteria, + parameters::exude(parameters::time_limit=10)); \endcode \sa `CGAL::no_exude` @@ -205,7 +212,7 @@ if domain is a model of the refined concept `MeshDomainWithFeatures_3`. \sa `CGAL::parameters::no_features` */ -parameters::interal::Features_options features(MeshDomain_3 domain); +parameters::internal::Features_options features(MeshDomain_3 domain); /*! \ingroup PkgMesh_3Parameters @@ -227,10 +234,15 @@ Example -------------- \code{.cpp} - // Mesh generation with lloyd optimization step -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::lloyd()); -refine_mesh_3(c3t3, domain, criteria, parameters::lloyd(parameters::time_limit=10)); +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::lloyd()); + +refine_mesh_3(c3t3, + domain, + criteria, + parameters::lloyd(parameters::time_limit=10)); \endcode @@ -256,10 +268,10 @@ Example -------------- \code{.cpp} - // Mesh generation without exudation -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::no_exude()); - +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::no_exude()); \endcode \sa `CGAL::parameters::exude` @@ -300,10 +312,10 @@ Example -------------- \code{.cpp} - // Mesh generation without lloyd optimization -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::no_lloyd()); - +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::no_lloyd()); \endcode \sa `CGAL::parameters::lloyd` @@ -324,10 +336,10 @@ Example -------------- \code{.cpp} - // Mesh generation without odt optimization -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::no_odt()); - +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::no_odt()); \endcode \sa `CGAL::parameters::odt` @@ -353,10 +365,10 @@ Example -------------- \code{.cpp} - // Mesh generation without perturbation -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::no_perturb()); - +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::no_perturb()); \endcode \sa `CGAL::parameters::perturb` @@ -387,11 +399,15 @@ Example -------------- \code{.cpp} - // Mesh generation with odt optimization step -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::odt()); -refine_mesh_3(c3t3, domain, criteria, parameters::odt(parameters::time_limit=10)); +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::odt()); +refine_mesh_3(c3t3, + domain, + criteria, + parameters::odt(parameters::time_limit=10)); \endcode \sa `CGAL::no_odt` @@ -426,10 +442,15 @@ Example -------------- \code{.cpp} - // Mesh generation with a perturbation step -C3t3 c3t3 = make_mesh_3(domain, criteria, parameters::perturb()); -refine_mesh_3(c3t3, domain, criteria, parameters::perturb(parameters::time_limit=10)); +C3t3 c3t3 = make_mesh_3(domain, + criteria, + parameters::perturb()); + +refine_mesh_3(c3t3, + domain, + criteria, + parameters::perturb(parameters::time_limit=10)); \endcode