mirror of https://github.com/CGAL/cgal
mainly \tparam
This commit is contained in:
parent
237d8fab00
commit
dce9cc543c
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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<Gt>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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<Tr>`
|
||||
\sa `CGAL::Mesh_criteria_3<Tr>`
|
||||
\sa `CGAL::make_mesh_3`
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ provides a bound for the size criterion.
|
|||
|
||||
\sa `MeshEdgeCriteria_3`
|
||||
\sa `MeshCriteria_3`
|
||||
\sa `Mesh_criteria_3<Tr>`
|
||||
\sa `CGAL::Mesh_criteria_3<Tr>`
|
||||
\sa `MeshDomainField_3`
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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<Tr>`
|
||||
\sa `CGAL::Mesh_criteria_3<Tr>`
|
||||
\sa `MeshDomainField_3`
|
||||
\sa `CGAL::make_mesh_3`
|
||||
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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<MD>::Kernel`.
|
||||
|
||||
\sa `CGAL::make_mesh_3`
|
||||
|
|
|
|||
|
|
@ -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<Gt>`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -11,10 +11,8 @@ template `template<typename Polyhedron, typename K>
|
|||
Triangle_accessor_3<Polyhedron, K>`. 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
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
<UL>
|
||||
<LI>`BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached.
|
||||
<LI>`TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`CANT_IMPROVE_ANYMORE` when exudation process stops because it can no longer improve
|
||||
<LI>`CGAL::BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached.
|
||||
<LI>`CGAL::TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`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.
|
||||
</UL>
|
||||
|
||||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
<UL>
|
||||
<LI>`TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`MAX_ITERATION_NUMBER_REACHED` when `lloyd_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations.
|
||||
<LI>`CONVERGENCE_REACHED` when `lloyd_optimize_mesh_3` stops because the convergence criterion
|
||||
<LI>`CGAL::TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`CGAL::MAX_ITERATION_NUMBER_REACHED` when `lloyd_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations.
|
||||
<LI>`CGAL::CONVERGENCE_REACHED` when `lloyd_optimize_mesh_3` stops because the convergence criterion
|
||||
is achieved.
|
||||
</UL>
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
</UL>
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
<UL>
|
||||
<LI>`TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`MAX_ITERATION_NUMBER_REACHED` when `odt_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations.
|
||||
<LI>`CONVERGENCE_REACHED` when `odt_optimize_mesh_3` stops because the convergence criterion
|
||||
<LI>`CGAL::TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`CGAL::MAX_ITERATION_NUMBER_REACHED` when `odt_optimize_mesh_3` stops because it has performed `max_iteration_number` iterations.
|
||||
<LI>`CGAL::CONVERGENCE_REACHED` when `odt_optimize_mesh_3` stops because the convergence criterion
|
||||
is achieved.
|
||||
</UL>
|
||||
|
||||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
<UL>
|
||||
<LI>`BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached.
|
||||
<LI>`TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`CANT_IMPROVE_ANYMORE` when the perturbation process stops because the last step is unsuccessful.
|
||||
<LI>`CGAL::BOUND_REACHED` when the targeted bound for the smallest dihedral angle in the mesh is reached.
|
||||
<LI>`CGAL::TIME_LIMIT_REACHED` when the time limit is reached.
|
||||
<LI>`CGAL::CANT_IMPROVE_ANYMORE` when the perturbation process stops because the last step is unsuccessful.
|
||||
</UL>
|
||||
|
||||
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`
|
||||
|
|
|
|||
|
|
@ -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<C3T3>(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<c3t3>(domain, criteria, parameters::exude());
|
||||
refine_mesh_3(c3t3, domain, criteria, parameters::exude(parameters::time_limit=10));
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::lloyd());
|
||||
refine_mesh_3(c3t3, domain, criteria, parameters::lloyd(parameters::time_limit=10));
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::no_exude());
|
||||
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::no_lloyd());
|
||||
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::no_odt());
|
||||
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::no_perturb());
|
||||
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::odt());
|
||||
refine_mesh_3(c3t3, domain, criteria, parameters::odt(parameters::time_limit=10));
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(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<c3t3>(domain, criteria, parameters::perturb());
|
||||
refine_mesh_3(c3t3, domain, criteria, parameters::perturb(parameters::time_limit=10));
|
||||
C3t3 c3t3 = make_mesh_3<c3t3>(domain,
|
||||
criteria,
|
||||
parameters::perturb());
|
||||
|
||||
refine_mesh_3(c3t3,
|
||||
domain,
|
||||
criteria,
|
||||
parameters::perturb(parameters::time_limit=10));
|
||||
|
||||
\endcode
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue