Concept

SurfaceMeshTraits_3

Definition

The concept SurfaceMeshTraits_3 describes the knowledge that is required on the surface to be meshed. A model of this concept implements an oracle that is able to tell whether a segment (or a ray, or a line) intersects the surface or not and to compute some intersection points if any. The concept SurfaceMeshTraits_3 also includes a constructor able to provide a small set of initial points on the surface.

Types

SurfaceMeshTraits_3::Point_3
The type of points. This type is required to match the point type of the three dimensional embedding triangulation C2T3::Triangulation_3.

SurfaceMeshTraits_3::Segment_3
The type of segments.

SurfaceMeshTraits_3::Ray_3
The type of rays.

SurfaceMeshTraits_3::Line_3
The type of lines.

SurfaceMeshTraits_3::Surface_3
The surface type.


SurfaceMeshTraits_3::Intersect_3
A model of this type provides the operator
CGAL::Object operator()(Surface_3 surface, Type1 type1)
to compute the intersection of the surface with an object of type Type1 which may be Segment_3, Ray_3 or Line_3 .


SurfaceMeshTraits_3::Construct_initial_points
A model of this type provides the following operators to construct initial points on the surface:
template <class OutputIteratorPoints>
OutputIteratorPoints operator()(OutputIteratorPoints pts)
which outputs a set of points on the surface,
template <class OutputIteratorPoints>
OutputIteratorPoints operator() (OutputIteratorPoints pts, int n)
which outputs a set of n points on the surface.

Operations

The following functions give access to the construction objects:

Intersect_3 traits.intersect_3_object ()
Construct_initial_points traits.construct_initial_points_object ()

Has Models

Surface_mesh_traits_generator_3<Surface>::Type

See Also

make_surface_mesh