Class

CGAL::Implicit_mesh_domain_3<Function,BGT>

Definition

The class Implicit_mesh_domain_3<Function,BGT> implements a domain whose bounding surface is described implicitly as the zero level set of a function. The domain to be discretized is assumed to be the domain where the function has negative values. This class is a model of the concept MeshDomain_3.

Parameters

Parameter BGT is a geometric traits which provides the basic operations to implement intersection tests and computations through a bisection method. This parameter must be instantiated with a model of the concept BisectionGeometricTraits_3.

Parameter Function provides 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.

The constructor of Implicit_mesh_domain_3<Function,BGT> takes as argument a bounding sphere which is required to circumscribe the surface and to have its center inside the domain. This domain constructs intersection points between the surface and segments/rays/lines by bisection. It needs an error_bound such that the bisection process is stopped when the query segment is smaller than the error bound. The error_bound passed as argument to the domain constructor is a relative error bound expressed as a ratio to the bounding sphere radius.

#include <CGAL/Implicit_mesh_domain_3.h>

Is Model for the Concepts

MeshDomain_3

Creation

Implicit_mesh_domain_3<Function,BGT> domain ( Function f, BGT::Sphere_3 bounding_sphere, BGT::FT error_bound = FT(1e-3));
f is the object of type Function that represents the implicit surface.
bounding_sphere is a bounding sphere of the implicit surface. The value of f at the sphere center c must be negative: f(c)<0.
error_bound is the relative error bound used to compute intersection points between the implicit surface and query segments. The bisection is stopped when the length of the intersected segment is less than the product of error_bound by the radius of bounding_sphere.

See Also

MeshDomain_3
BisectionGeometricTraits_3
CGAL::make_mesh_3.