\( \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.9 - 3D Mesh Generation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveSegmentIndex > Class Template Reference

#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
Trcan 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.
CornerIndexis 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.
CurveSegmentIndexis 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_gray_image.cpp, Mesh_3/mesh_3D_image.cpp, Mesh_3/mesh_3D_image_variable_size.cpp, Mesh_3/mesh_3D_image_with_custom_initialization.cpp, Mesh_3/mesh_3D_image_with_features.cpp, Mesh_3/mesh_implicit_domains.cpp, Mesh_3/mesh_implicit_domains_2.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_two_implicit_spheres_with_balls.cpp, and Mesh_3/remesh_polyhedral_surface.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.
 
std::ostream & output_boundary_to_off (std::ostream &out) const
 Outputs the outer boundary of the entire domain with facets oriented outward.
 
std::ostream & output_boundary_to_off (std::ostream &out, Subdomain_index subdomain) const
 Outputs the outer boundary of the selected subdomain with facets oriented outward.
 
std::ostream & output_facets_in_complex_to_off (std::ostream &out) const
 Outputs the surface facets with a consistent orientation at the interface of two subdomains.