Concept

SkinSurface_3

Definition

The concept SkinSurface_3 defines a skin surface and provides an interface for the dedicated skin surface mesher. The concept requires a constructor from an iterator range of weighted points and a shrink factor. By default the input balls are grown in such that the skin surface wraps around the input balls.

Has Models

CGAL::Skin_surface_3<SkinSurfaceTraits_3>
CGAL::Union_of_balls_3<SkinSurfaceTraits_3>

Types

SkinSurface_3::Geometric_traits
The geometric traits used for the construction of the regular triangulation.

SkinSurface_3::Weighted_point
The Weighted_point type defined by the Geometric_traits.

SkinSurface_3::Bare_point
The Bare_point type defined by the Geometric_traits.

SkinSurface_3::FT
The FT type defined by the Geometric_traits. This is the number type used by the weighted points.

Creation

SkinSurface_3 skin ( WP_iterator begin, WP_iterator end, RT shrink_factor);
The mandatory arguments to the constructor are an iterator range [begin,end) of weighted points and a shrink factor between 0 and 1.

Operations

template <class Polyhedron_3>
void skin.mesh_skin_surface_3 ( Polyhedron_3 &p)
Constructs a coarse mesh in p.
Precondition: Polyhedron_3::HDS can be used as the template argument of the Polyhedron_incremental_builder_3<HDS>.

template <class Polyhedron_3>
void skin.subdivide_skin_surface_mesh_3 ( Polyhedron_3 &p, int nSubdiv = 1)
Subdivides the skin surface using nSubdiv 1-4 split operations (each triangle is split into four sub-triangles) and the new vertices are moved towards the skin surface.