\( \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::Labeled_image_mesh_domain_3< Image, BGT > Class Template Reference
Domain Classes

`#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

  Image | is the type of the input image. This parameter must be a model of the concept `LabeledImage_3`.
  BGT | is 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.