CGAL 5.1 - 3D Mesh Generation
CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex > Class Template Reference

#include <CGAL/Mesh_complex_3_in_triangulation_3.h>

Definition

template<typename Tr, typename CornerIndex, typename CurveIndex>
class CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >

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.
CurveIndexis the type of the indices for curves. It must match the Curve_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_gray_vtk_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_hybrid_mesh_domain.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_complex.cpp, Mesh_3/mesh_polyhedral_domain.cpp, Mesh_3/mesh_polyhedral_domain_with_features.cpp, Mesh_3/mesh_polyhedral_domain_with_lipschitz_sizing.cpp, Mesh_3/mesh_polyhedral_domain_with_surface_inside.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. More...
 
typedef Tr::Cell::Surface_patch_index Surface_patch_index
 Surface index type. More...
 
typedef Tr::Cell::Subdomain_index Subdomain_index
 Subdomain index type. More...
 
typedef CornerIndex Corner_index
 Corner index type. More...
 
typedef CurveIndex Curve_index
 Curve index type. More...
 

Operations

void output_to_medit (std::ofstream &os)
 Outputs the mesh to os in medit format. More...
 
std::ostream & output_boundary_to_off (std::ostream &out) const
 Outputs the outer boundary of the entire domain with facets oriented outward. More...
 
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. More...
 
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. More...
 

Member Typedef Documentation

◆ Corner_index

template<typename Tr , typename CornerIndex , typename CurveIndex >
typedef CornerIndex CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::Corner_index

Corner index type.

◆ Curve_index

template<typename Tr , typename CornerIndex , typename CurveIndex >
typedef CurveIndex CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::Curve_index

Curve index type.

◆ Index

template<typename Tr , typename CornerIndex , typename CurveIndex >
typedef Tr::Vertex::Index CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::Index

Index type.

◆ Subdomain_index

template<typename Tr , typename CornerIndex , typename CurveIndex >
typedef Tr::Cell::Subdomain_index CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::Subdomain_index

Subdomain index type.

◆ Surface_patch_index

template<typename Tr , typename CornerIndex , typename CurveIndex >
typedef Tr::Cell::Surface_patch_index CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::Surface_patch_index

Surface index type.

Member Function Documentation

◆ output_boundary_to_off() [1/2]

template<typename Tr , typename CornerIndex , typename CurveIndex >
std::ostream& CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::output_boundary_to_off ( std::ostream &  out) const

Outputs the outer boundary of the entire domain with facets oriented outward.

◆ output_boundary_to_off() [2/2]

template<typename Tr , typename CornerIndex , typename CurveIndex >
std::ostream& CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::output_boundary_to_off ( std::ostream &  out,
Subdomain_index  subdomain 
) const

Outputs the outer boundary of the selected subdomain with facets oriented outward.

◆ output_facets_in_complex_to_off()

template<typename Tr , typename CornerIndex , typename CurveIndex >
std::ostream& CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::output_facets_in_complex_to_off ( std::ostream &  out) const

Outputs the surface facets with a consistent orientation at the interface of two subdomains.

◆ output_to_medit()

template<typename Tr , typename CornerIndex , typename CurveIndex >
void CGAL::Mesh_complex_3_in_triangulation_3< Tr, CornerIndex, CurveIndex >::output_to_medit ( std::ofstream &  os)

Outputs the mesh to os in medit format.