CGAL 6.2 - 2D Alpha Wrapping

Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions
AlphaWrapTraits_2 Concept Reference
Reference Manual » Concepts

## Definition

The concept `AlphaWrapTraits_2` defines the requirements for the geometric traits class of an alpha wrap oracle.

Refines
  `AABBRayIntersectionGeomTraits_2`
  `DelaunayTriangulationTraits_2`
  `PolygonTraits_2`

Has models
  Any CGAL kernel is a model of this traits concept

## Public Types
typedef unspecified_type | FT
| The field type, must be a model of `FieldNumberType` and `FromDoubleConstructible`
typedef unspecified_type | Is_degenerate_2
| A predicate object that must provide the following function operator:
typedef unspecified_type | Angle_2
| A predicate object that must provide the following function operator:
typedef unspecified_type | Construct_bbox_2
| A construction object that must provide the following function operators:
typedef unspecified_type | Construct_scaled_vector_2
| A construction object that must provide the following function operator:
typedef unspecified_type | Construct_translated_point_2
| A construction object that must provide the following function operator:
typedef unspecified_type | Construct_vertex_2
| A construction object that must be a model of `Kernel::ConstructVertex_2`
typedef unspecified_type | Has_on_bounded_side_2
| A predicate object that must provide the following function operator:
typedef unspecified_type | Has_on_unbounded_side_2
| A predicate object that must provide the following function operator:
typedef unspecified_type | Side_of_bounded_circle_2
| A predicate object that must provide the following function operator:

## Public Member Functions
Is_degenerate_2 | is_degenerate_2_object ()
| returns the `Is_degenerate_2` predicate.
Angle_2 | angle_2_object ()
| returns the `Angle_2` functor.
Construct_bbox_2 | construct_bbox_2_object ()
| returns the `Construct_bbox_2` functor.
Construct_scaled_vector_2 | construct_scaled_vector_2_object ()
| returns the `Construct_scaled_vector_2` functor.
Construct_translated_point_2 | construct_translated_point_2_object ()
| returns the `Construct_translated_point_2` functor.
Construct_vertex_2 | construct_vertex_2_object ()
| returns the `Construct_vertex_2` functor.
Has_on_bounded_side_2 | has_on_bounded_side_2_object ()
| returns the `Has_on_bounded_side_2` predicate.
Has_on_unbounded_side_2 | has_on_unbounded_side_2_object ()
| returns the `Has_on_unbounded_side_2` predicate.
Side_of_bounded_circle_2 | side_of_bounded_circle_2_object ()
| returns the `Side_of_bounded_circle_2` predicate.

## Member Typedef Documentation

## ◆ Angle_2

typedef unspecified_type AlphaWrapTraits_2::Angle_2

A predicate object that must provide the following function operator:

`Angle operator()(Point_2 p, Point_2 q, Point_2 r)`,

which returns the angle at point `q` formed by the points `p`, `q`, and `r`.

## ◆ Construct_bbox_2

typedef unspecified_type AlphaWrapTraits_2::Construct_bbox_2

A construction object that must provide the following function operators:

`CGAL::Bbox_2 operator()(Point_2 p)`,

`CGAL::Bbox_2 operator()(Segment_2 s)`,

`CGAL::Bbox_2 operator()(Triangle_2 tr)`,

that constructs the bounding box of these 2D objects.

## ◆ Construct_scaled_vector_2

typedef unspecified_type AlphaWrapTraits_2::Construct_scaled_vector_2

A construction object that must provide the following function operator:

`Vector_2 operator()(Vector_2 v, FT l)`,

that constructs the scaled vector `l * v`.

## ◆ Construct_translated_point_2

typedef unspecified_type AlphaWrapTraits_2::Construct_translated_point_2

A construction object that must provide the following function operator:

`Point_2 operator()(Point_2 p, Vector_2 v)`,

that returns the point obtained by translating `p` by the vector `v`.

## ◆ Has_on_bounded_side_2

typedef unspecified_type AlphaWrapTraits_2::Has_on_bounded_side_2

A predicate object that must provide the following function operator:

`bool operator()(Triangle_2 tr, Point_2 p)`,

which returns whether `p` is on the bounded side of the triangle `tr` or not.

## ◆ Has_on_unbounded_side_2

typedef unspecified_type AlphaWrapTraits_2::Has_on_unbounded_side_2

A predicate object that must provide the following function operator:

`bool operator()(Circle_2 c, Point_2 p)`,

which returns whether `p` is on the unbounded side of the circle `c` or not.

## ◆ Is_degenerate_2

typedef unspecified_type AlphaWrapTraits_2::Is_degenerate_2

A predicate object that must provide the following function operator:

`bool operator()(Segment_2 s)`,

which returns `true` iff the segment is degenerate.

## ◆ Side_of_bounded_circle_2

typedef unspecified_type AlphaWrapTraits_2::Side_of_bounded_circle_2

A predicate object that must provide the following function operator:

`Bounded_side operator()(Point_2 p, Point_2 q, Point_2 t)`,

which returns the position of the point `t` relative to the circle that has the line segment `pq` as its diameter.