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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Polyhedral_mesh_domain_3< Polyhedron, IGT, TriangleAccessor > Class Template Reference
Domain Classes

`#include <CGAL/Polyhedral_mesh_domain_3.h>`

## Definition

The class `Polyhedral_mesh_domain_3` implements a domain defined by a simplicial polyhedral surface.

The input polyhedral surface must be free of intersection. It must include (at least) one closed connected component that defines the boundary of the domain to be meshed. Inside this bounding component, the input polyhedral surface may contain several other components (closed or not) that will be represented in the final mesh. This class is a model of the concept `MeshDomain_3`.

Template Parameters

  Polyhedron | stands for the type of the input polyhedral surface(s). The only requirements for this type is that the triangles of the surfaces must be accessible through an object of the class `TriangleAccessor`.
  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`.
  TriangleAccessor | provides access to the triangles of the input polyhedral surface. It must be a model of the concept `TriangleAccessor_3`. It defaults to `Triangle_accessor_3<Polyhedron,IGT>`. The type `IGT::Triangle_3` must be identical to the type `TriangleAccessor::Triangle_3`.

Is Model Of:
  `MeshDomain_3`

See Also
  `TriangleAccessor_3`
  `IntersectionGeometricTraits_3`
  `CGAL::Triangle_accessor_3<Polyhedron_3<K>,K>`
  `CGAL::make_mesh_3()`.

Examples:
  Mesh_3/mesh_polyhedral_domain.cpp.

## Creation
| Polyhedral_mesh_domain_3 (Polyhedron bounding_polyhedron)
| Construction from a bouding polyhedral surface which should be closed, and free of intersections. More...
| Polyhedral_mesh_domain_3 (Polyhedron polyhedron, Polyhedron bounding_polyhedron)
| Construction from a polyhedral surface, and a bounding polyhedral surface,. More...

## Constructor & Destructor Documentation

template<typename Polyhedron, typename IGT, typename TriangleAccessor>

CGAL::Polyhedral_mesh_domain_3< Polyhedron, IGT, TriangleAccessor >::Polyhedral_mesh_domain_3 | ( | Polyhedron | bounding_polyhedron) |  |

Construction from a bouding polyhedral surface which should be closed, and free of intersections.

The inside of `bounding_polyhedron` will be meshed.

template<typename Polyhedron, typename IGT, typename TriangleAccessor>

CGAL::Polyhedral_mesh_domain_3< Polyhedron, IGT, TriangleAccessor >::Polyhedral_mesh_domain_3 | ( | Polyhedron | polyhedron,
|  | Polyhedron | bounding_polyhedron
| ) |  |

Construction from a polyhedral surface, and a bounding polyhedral surface,.

The first polyhedron should be entirely included inside `bounding_polyhedron`, which has to be closed and free of intersections. Using this constructor allows to mesh a polyhedral surface which is not closed, or has holes. The inside of `bounding_polyhedron` will be meshed.