\( \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 5.0.1 - 3D Periodic Mesh Generation
CGAL::Implicit_to_labeled_subdomains_function_wrapper< Function, BGT > Class Template Reference

#include <CGAL/Implicit_to_labeled_subdomains_function_wrapper.h>

Definition

The class Implicit_to_labeled_subdomains_function_wrapper is a helper class designed to wrap an implicit function which describes a domain by [p is inside if f(p)<0] to a function that takes its values into {1, 2} and thus describes a multidomain: the subspace described by f(p)<0 is attributed the subdomain index 1 and the subspace described by f(p)>0 is attributed the subdomain index 2.

Note that for the 3D mesh generator [f(p)=0] means that p is outside the domain. Since this wrapper has values into {1, 2}, both the interior and the exterior of the periodic domain described by the input implicit function are meshed, thus yielding a periodic mesh of the entire canonical cube.

Template Parameters
Functionprovides the definition of the function. This parameter stands for a model of the concept ImplicitFunction described in the surface mesh generation package. The number types Function::FT and BGT::FT are required to match.
BGTis a geometric traits class that 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.
See also
Implicit_multi_domain_to_labeling_function_wrapper.
Examples:
Periodic_3_mesh_3/mesh_implicit_shape_with_subdomains.cpp.

Types

typedef BGT::Point_3 Point_3
 

Creation

 Implicit_to_labeled_subdomains_function_wrapper (Function f)
 Construction from an implicit function.
 

Operations

int operator() (const Point_3 &p) const
 Returns 1 or 2, depending on whether \( f(p) \) is negative or not.