CGAL 5.1.3 - 3D Surface Mesh Generation
SurfaceMeshTraits_3 Concept Reference

## 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 exists. The concept SurfaceMeshTraits_3 also includes a funcctor able to provide a small set of initial points on the surface.

Has Models:
CGAL::Surface_mesh_traits_generator_3::type
CGAL::make_surface_mesh()

## Types

typedef unspecified_type Point_3
The type of points. More...

typedef unspecified_type Segment_3
The type of segments.

typedef unspecified_type Ray_3
The type of rays.

typedef unspecified_type Line_3
The type of lines.

typedef unspecified_type Surface_3
The surface type.

typedef unspecified_type Intersect_3
A model of this type provides the operator. More...

typedef unspecified_type Construct_initial_points
A model of this type provides the following operators to construct initial points on the surface: More...

## Operations

Intersect_3 intersect_3_object ()

Construct_initial_points construct_initial_points_object ()

## ◆ 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.

## ◆ 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 .

## ◆ Point_3

The type of points.

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