\( \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.2 - 3D Mesh Generation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Labeled_image_mesh_domain_3< Image, BGT > Class Template Reference

#include <CGAL/Labeled_image_mesh_domain_3.h>

Definition

The class Labeled_image_mesh_domain_3 implements a domain described by a 3D labeled image.

A 3D labeled image is a grid of voxels, where each voxel is associated with an index (a subdomain index) characterizing the subdomain in which the voxel lies. This class is a model of the concept MeshDomain_3. The domain to be discretized is the union of voxels that have an non-default index (different from the default constructed value of the type Image::Type).

This class includes a member function that provides, by interpolation, the subdomain index of any query point. An intersection between a segment and bounding surfaces is detected when both segment endpoints are associated with different values of subdomain indices. The intersection is then constructed by bisection. The bisection stops when the query segment is shorter than a given error bound e. This error bound is given by e=d \( \times\)bound where d is the length of the diagonal of the bounding box (in world coordinates) and bound is the argument passed to the constructor of Labeled_image_mesh_domain_3.

Template Parameters
Imageis the type of the input image. This parameter must be a model of the concept LabeledImage_3.
BGTis a geometric traits class which provides the basic operations to implement intersection tests and intersection computations through a bisection method. This parameter must be instantiated with a model of the concept BisectionGeometricTraits_3.
Is Model Of:
MeshDomain_3

An executable that uses Labeled_image_mesh_domain_3 must be linked with the CGAL_ImageIO library.

See Also
BisectionGeometricTraits_3
CGAL::make_mesh_3().
Examples:
Mesh_3/mesh_3D_image.cpp, Mesh_3/mesh_3D_image_variable_size.cpp, Mesh_3/mesh_optimization_example.cpp, and Mesh_3/mesh_optimization_lloyd_example.cpp.

Creation

 Labeled_Image_mesh_domain_3 (Image image, BGT::FT error_bound=FT(1e-3))
 Construction from an image. More...
 

Member Function Documentation

template<typename Image , typename BGT >
CGAL::Labeled_image_mesh_domain_3< Image, BGT >::Labeled_Image_mesh_domain_3 ( Image  image,
BGT::FT  error_bound = FT(1e-3) 
)

Construction from an image.

The parameter error_bound is relative to the size of the image.