\( \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.11 - 3D Mesh Generation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Polyhedral_mesh_domain_3< Polyhedron, IGT, TriangleAccessor > Class Template Reference

#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
Polyhedronstands 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.
IGTstands 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.
TriangleAccessorprovides 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_hybrid_mesh_domain.cpp, and Mesh_3/mesh_polyhedral_domain.cpp.

Creation

 Polyhedral_mesh_domain_3 (Polyhedron bounding_polyhedron)
 Construction from a bouding polyhedral surface which must 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 must 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 must be entirely included inside bounding_polyhedron, which must 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.