\( \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.12.1 - 3D Skin Surface Meshing
SkinSurface_3 Concept Reference

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

typedef unspecified_type Geometric_traits
 The geometric traits used for the construction of the regular triangulation.
 
typedef Geometric_traits::Weighted_point_3 Weighted_point
 The Weighted_point type.
 
typedef Geometric_traits::Point_3 Bare_point
 The Bare_point type.
 
typedef unspecified_type FT
 The FT type defined by the Geometric_traits. More...
 

Creation

template<class WP_iterator >
 Skin_surface_3 (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 >
void mesh_skin_surface_3 (Polyhedron &p)
 Constructs a coarse mesh in p. More...
 
template<class Polyhedron >
void subdivide_skin_surface_mesh_3 (Polyhedron &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. More...
 

Member Typedef Documentation

◆ FT

The FT type defined by the Geometric_traits.

This is the number type used by the weighted points.

Member Function Documentation

◆ mesh_skin_surface_3()

template<class Polyhedron >
void SkinSurface_3::mesh_skin_surface_3 ( Polyhedron &  p)

Constructs a coarse mesh in p.

Template Parameters
Polyhedronmust be an instance of Polyhedron_3.
Precondition
Polyhedron::HDS can be used as the template argument of the CGAL::Polyhedron_incremental_builder_3<HDS>.

◆ subdivide_skin_surface_mesh_3()

template<class Polyhedron >
void SkinSurface_3::subdivide_skin_surface_mesh_3 ( Polyhedron &  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.

Template Parameters
Polyhedronmust be an instance of Polyhedron_3.