CGAL 4.7 - 3D Mesh Generation: Parameter Functions

\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.7 - 3D Mesh Generation

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Parameter Functions
3D Mesh Generation Reference

##

## Functions

parameters::internal::Exude_options | CGAL::parameters::exude (double parameters::time_limit=0, double parameters::sliver_bound=0)
| The function `parameters::exude()` allows the user to trigger a call to `exude_mesh_3()` in the `make_mesh_3()` and `refine_mesh_3()` mesh generation functions. More...
parameters::internal::Features_options | CGAL::parameters::features ()
| The function `parameters::features()` provides a value of internal type `Features` to specify if 0 and 1-dimensional features have to be taken into account. More...
parameters::internal::Lloyd_options | CGAL::parameters::lloyd (double parameters::time_limit=0, std::size_t parameters::max_iteration_number=0, double parameters::convergence=0.02, double parameters::freeze_bound=0.01, bool parameters::do_freeze=true)
| The function `parameters::lloyd()` allows the user to trigger a call of `lloyd_optimize_mesh_3()` in the mesh generation functions `make_mesh_3()` and `refine_mesh_3()`. More...
parameters::internal::Exude_options | CGAL::parameters::no_exude ()
| The function `parameters::no_exude()` allows the user to tell the mesh generation functions `make_mesh_3()` and `refine_mesh_3()` that no exudation must be done. More...
parameters::internal::Features_options | CGAL::parameters::no_features ()
| The function `parameters::no_features()` allows the user to prevent the handling of 0 and 1-dimensional features. More...
parameters::internal::Lloyd_options | CGAL::parameters::no_lloyd ()
| The function `parameters::no_lloyd()` allows the user to tell the mesh generation functions `make_mesh_3()` and `refine_mesh_3()` that no lloyd optimization must be done. More...
parameters::internal::Odt_options | CGAL::parameters::no_odt ()
| 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. More...
parameters::internal::Perturb_options | CGAL::parameters::no_perturb ()
| The function `parameters::no_perturb()` allows the user to tell mesh generation global functions `make_mesh_3()` and `refine_mesh_3()` that no perturbation must be done. More...
parameters::internal::Odt_options | CGAL::parameters::odt (double parameters::time_limit=0, std::size_t parameters::max_iteration_number=0, double parameters::convergence=0.02, double parameters::freeze_bound=0.01, bool parameters::do_freeze=true)
| The function `parameters::odt()` allows the user to trigger a call to `CGAL::odt_optimize_mesh_3()` in `CGAL::make_mesh_3()` and `CGAL::refine_mesh_3()` mesh optimization functions. More...
parameters::internal::Perturb_options | CGAL::parameters::perturb (double parameters::time_limit=0, double parameters::sliver_bound=0)
| The function `parameters::perturb()` allows the user to trigger a call to `perturb_mesh_3()` in `make_mesh_3()` and `refine_mesh_3()` mesh generation functions. More...

## Function Documentation

parameters::internal::Exude_options CGAL::parameters::exude | ( | double parameters::time_limit | = `0`,
|  | double parameters::sliver_bound | = `0`
| ) |  |

The function `parameters::exude()` allows the user to trigger a call to `exude_mesh_3()` in the `make_mesh_3()` and `refine_mesh_3()` mesh generation functions.

It also allows the user to pass parameters to the optimization function `exude_mesh_3()` through these mesh generation functions.

Parameters

The parameters are named parameters. They are the same (i.e. they have the same name and the same default values) as the parameters of `exude_mesh_3()` function. See its manual page for further details.

Example

// 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));

See Also
  `CGAL::parameters::no_exude()`
  `CGAL::exude_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_optimization_lloyd_example.cpp.

parameters::internal::Features_options CGAL::parameters::features | ( | ) |  |

The function `parameters::features()` provides a value of internal type `Features` to specify if 0 and 1-dimensional features have to be taken into account.

The provided value is a default value that triggers the representation of corners and curve segments in the mesh when the domain is a model of `MeshDomainWithFeatures_3`.

Provides a `Features_options` value such that 0 and 1-dimensional input features are taken into account if domain is a model of the refined concept `MeshDomainWithFeatures_3`.

See Also
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`
  `CGAL::parameters::no_features()`

`#include <CGAL/refine_mesh_3.h>`

parameters::internal::Lloyd_options CGAL::parameters::lloyd | ( | double parameters::time_limit | = `0`,
|  | std::size_t parameters::max_iteration_number | = `0`,
|  | double parameters::convergence | = `0.02`,
|  | double parameters::freeze_bound | = `0.01`,
|  | bool parameters::do_freeze | = `true`
| ) |  |

The function `parameters::lloyd()` allows the user to trigger a call of `lloyd_optimize_mesh_3()` in the mesh generation functions `make_mesh_3()` and `refine_mesh_3()`.

It also allows the user to pass parameters to the optimization function `lloyd_optimize_mesh_3()` through these mesh generation functions.

Parameters

The parameters are named parameters. They are the same (i.e. they have the same name and the same default values) as the parameters of the `lloyd_optimize_mesh_3()` function. See its manual page for further details.

Example

// 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));

See Also
  `CGAL::parameters::no_lloyd()`
  `CGAL::lloyd_optimize_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_optimization_lloyd_example.cpp.

parameters::internal::Exude_options CGAL::parameters::no_exude | ( | ) |  |

The function `parameters::no_exude()` allows the user to tell the mesh generation functions `make_mesh_3()` and `refine_mesh_3()` that no exudation must be done.

Example

// Mesh generation without exudation
C3t3 c3t3 = make_mesh_3<c3t3>(domain,
criteria,
parameters::no_exude());

See Also
  `CGAL::parameters::exude()`
  `CGAL::exude_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_implicit_domains.cpp, Mesh_3/mesh_implicit_domains_2.cpp, Mesh_3/mesh_implicit_ellipsoid.cpp, Mesh_3/mesh_implicit_sphere_variable_size.cpp, Mesh_3/mesh_optimization_example.cpp, Mesh_3/mesh_optimization_lloyd_example.cpp, and Mesh_3/mesh_polyhedral_domain.cpp.

parameters::internal::Features_options CGAL::parameters::no_features | ( | ) |  |

The function `parameters::no_features()` allows the user to prevent the handling of 0 and 1-dimensional features.

This is useful when the domain is a model of `MeshDomainWithFeatures_3` and the user does not want corners and curve segments to be accurately represented in the mesh.

Return a `Features_options` value that prevents the mesh generator to take into account 0 and 1-dimensional input features.

See Also
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`
  `CGAL::parameters::features()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_two_implicit_spheres_with_balls.cpp.

parameters::internal::Lloyd_options CGAL::parameters::no_lloyd | ( | ) |  |

The function `parameters::no_lloyd()` allows the user to tell the mesh generation functions `make_mesh_3()` and `refine_mesh_3()` that no lloyd optimization must be done.

Example

// Mesh generation without lloyd optimization
C3t3 c3t3 = make_mesh_3<c3t3>(domain,
criteria,
parameters::no_lloyd());

See Also
  `CGAL::parameters::lloyd()`
  `CGAL::lloyd_optimize_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

parameters::internal::Odt_options CGAL::parameters::no_odt | ( | ) |  |

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.

Example

// Mesh generation without odt optimization
C3t3 c3t3 = make_mesh_3<c3t3>(domain,
criteria,
parameters::no_odt());

See Also
  `CGAL::parameters::odt()`
  `CGAL::odt_optimize_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

parameters::internal::Perturb_options CGAL::parameters::no_perturb | ( | ) |  |

The function `parameters::no_perturb()` allows the user to tell mesh generation global functions `make_mesh_3()` and `refine_mesh_3()` that no perturbation must be done.

Example

// Mesh generation without perturbation
C3t3 c3t3 = make_mesh_3<c3t3>(domain,
criteria,
parameters::no_perturb());

See Also
  `CGAL::parameters::perturb()`
  `CGAL::perturb_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_implicit_domains.cpp, Mesh_3/mesh_implicit_domains_2.cpp, Mesh_3/mesh_implicit_ellipsoid.cpp, Mesh_3/mesh_implicit_sphere_variable_size.cpp, Mesh_3/mesh_optimization_example.cpp, Mesh_3/mesh_optimization_lloyd_example.cpp, and Mesh_3/mesh_polyhedral_domain.cpp.

parameters::internal::Odt_options CGAL::parameters::odt | ( | double parameters::time_limit | = `0`,
|  | std::size_t parameters::max_iteration_number | = `0`,
|  | double parameters::convergence | = `0.02`,
|  | double parameters::freeze_bound | = `0.01`,
|  | bool parameters::do_freeze | = `true`
| ) |  |

The function `parameters::odt()` allows the user to trigger a call to `CGAL::odt_optimize_mesh_3()` in `CGAL::make_mesh_3()` and `CGAL::refine_mesh_3()` mesh optimization functions.

It also allows the user to pass parameters to the optimization function `odt_optimize_mesh_3()` through these mesh generation functions.

Parameters

The parameters are named parameters. They are the same (i.e. they have the same name and the same default values) as the parameters of `odt_optimize_mesh_3()` function. See its manual page for further details.

Example

// 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));

See Also
  `CGAL::parameters::no_odt()`
  `CGAL::odt_optimize_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

parameters::internal::Perturb_options CGAL::parameters::perturb | ( | double parameters::time_limit | = `0`,
|  | double parameters::sliver_bound | = `0`
| ) |  |

The function `parameters::perturb()` allows the user to trigger a call to `perturb_mesh_3()` in `make_mesh_3()` and `refine_mesh_3()` mesh generation functions.

It also allows the user to pass parameters to the optimization function `perturb_mesh_3()` through these mesh generation functions.

Parameters

The parameters are named parameters. They are the same (i.e. they have the same name and the same default values) as the parameters of `perturb_mesh_3()` function. See its manual page for further details.

Example

// 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));

See Also
  `CGAL::parameters::no_perturb()`
  `CGAL::perturb_mesh_3()`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

`#include <CGAL/refine_mesh_3.h>`

Examples:
  Mesh_3/mesh_optimization_example.cpp.