\( \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.3 - 3D Mesh Generation

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveSegmentIndex > Class Template Reference
Mesh Classes

`#include <CGAL/Mesh_complex_3_in_triangulation_3.h>`

## Definition

The class `Mesh_complex_3_in_triangulation_3` implements a data structure to store the 3D restricted Delaunay triangulation used by a mesh generation process.

This class is a model of the concept `MeshComplexWithFeatures_3InTriangulation_3`.

Template Parameters

  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.
  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.
  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 if the domain used for mesh generation does not include 0 and 1-dimensionnal features (i.e is a model of the concept `MeshDomain_3`).

Is Model Of:
  `MeshComplexWithFeatures_3InTriangulation_3`

See Also
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`
  `MeshComplex_3InTriangulation_3`
  `MeshComplexWithFeatures_3InTriangulation_3`
  `MeshCellBase_3`,
  `MeshVertexBase_3`

Examples:
  Mesh_3/mesh_3D_image.cpp, Mesh_3/mesh_3D_image_variable_size.cpp, Mesh_3/mesh_implicit_domains.cpp, Mesh_3/mesh_implicit_ellipsoid.cpp, Mesh_3/mesh_implicit_sphere.cpp, Mesh_3/mesh_implicit_sphere_variable_size.cpp, Mesh_3/mesh_optimization_example.cpp, Mesh_3/mesh_optimization_lloyd_example.cpp, Mesh_3/mesh_polyhedral_domain.cpp, Mesh_3/mesh_polyhedral_domain_with_features.cpp, Mesh_3/mesh_polyhedral_edge_tolerance_region.cpp, Mesh_3/mesh_polyhedral_implicit_function.cpp, Mesh_3/mesh_polyhedral_surface_tolerance_region.cpp, and Mesh_3/mesh_two_implicit_spheres_with_balls.cpp.

## Types
typedef Tr::Vertex::Index | Index
| Index type.
typedef Tr::Cell::Surface_patch_index | Surface_patch_index
| Surface index type.
typedef Tr::Cell::Subdomain_index | Subdomain_index
| Subdomain index type.
typedef CornerIndex | Corner_index
| `Corner_index` type.
typedef CurveSegmentIndex | Curve_segment_index
| `Curve_segment_index` type.

## Operations
void | output_to_medit (std::ofstream &os)
| Outputs the mesh to `os` in medit format.