CGAL::Mesh_criteria_3<Tr>

Definition

The class Mesh_criteria_3<Tr> is a model of MeshCriteria_3. It gathers the criteria for facets in the boundary surface meshes and for mesh tetrahedra.

#include <CGAL/Mesh_criteria_3.h>

Parameters

The parameter Tr must be identical to the nested type Triangulation of the instance used as model of MeshComplex_3InTriangulation_3.

Is Model for the Concepts

MeshCriteria_3

Types

typedef Mesh_facet_criteria_3<Tr> Facet_criteria; The criteria for facets.
typedef Mesh_cell_criteria_3<Tr> Cell_criteria; The criteria for cells.

Creation

Mesh_criteria_3<Tr> mc ( Facet_criteria facet_criteria, Cell_criteria cell_criteria);
Construction from facet and cell criteria.


Mesh_criteria_3<Tr> mc ( double facet_angle=0,
double facet_size=0,
double facet_distance=0,
double cell_radius_edge=0,
double cell_size=0);
Construction from facet and cell parameters. This constructor uses named parameters (from boost::parameters) for convenient criteria construction. Parameters facet_* corresponds to the parameters of Mesh_facet_criteria_3<Tr> and parameters cell_* corresponds to the parameters of Mesh_cell_criteria_3<Tr>. They can be passed in any order provided their name is given. The naming of these parameters is the following: each argument argument_name of the constructor is named parameters::argument_name (e.g. parameters::facet_angle for facet_angle). The default values are such that the corresponding criterion is ignored if one parameter is not set (e.g. if parameters::facet_angle is not given, facet angular bound criterion is ignored).

See Also

MeshCriteria_3
MeshCellCriteria_3
MeshFacetCriteria_3
Mesh_cell_criteria_3<Tr>
Mesh_facet_criteria_3<Tr>

Example

// Create a Mesh_criteria_3<Tr> object with all parameters set
Mesh_criteria_3<Tr> criteria (parameters::facet_angle=30,
                              parameters::facet_size=1,
                              parameters::facet_distance=0.1,
                              parameters::cell_radius_edge=2,
                              parameters::cell_size=1.5);

// Create a Mesh_criteria_3<Tr> object with size ignored (note that the order changed)
Mesh_criteria_3<Tr> criteria (parameters::cell_radius_edge=2,
                              parameters::facet_angle=30,
                              parameters::facet_distance=0.1);