CGAL 4.7 - 2D Triangulation
RegularTriangulationTraits_2 Concept Reference

## Definition

The concept RegularTriangulationTraits_2 describe the requirements for the traits class of regular triangulations. It refines the concept TriangulationTraits_2 requiring the type CGAL::Weighted_point and the power test predicate on those weighted points. A weighted point is basically a point augmented with a scalar weight. It can be seen as a circle when the weight is interpreted as a square radius. The power test on weighted points is the fundamental test to build regular triangulations as the side_of_oriented_circle test is the fundamental test of Delaunay triangulations.

Refines:
TriangulationTraits_2
Has Models:

CGAL::Regular_triangulation_euclidean_traits_2<K,Weight>

CGAL::Regular_triangulation_filtered_traits_2<FK>

TriangulationTraits_2
CGAL::Regular_triangulation_2<Traits,Tds>

## Types

typedef unspecified_type Bare_point
Another name for the point type.

typedef unspecified_type Weighted_point_2
The weighted point type. More...

typedef unspecified_type Power_test_2
A function object which must provide operators for the power test applied to two, three, and four points. More...

## Optional Types

The following type/predicate is required for a call to nearest_power_vertex:

typedef unspecified_type Compare_power_distance_2
A function object for computing two power distances. More...

typedef unspecified_type Construct_weighted_circumcenter_2
A function object which constructs the weighted circumcenter of three weighted points. More...

A function object constructs the radical axis of two weighted points. More...

## Creation

RegularTriangulationTraits_2 ()
Default constructor.

RegularTriangulationTraits_2 (const RegularTriangulatioTraits_2 &)
Copy constructor.

RegularTriangulationTraits_2operator= (const RegularTriangulationTraits_2 &)
Assignment operator.

Power_test_2 power_test_2_object ()

Compare_power_distance_2 compare_power_distance_2_object ()

Construct_weighted_circumcenter_2 construct_weighted_circumcenter_2_object ()

## Member Typedef Documentation

A function object for computing two power distances.

Must provide the operator:

Comparison_result operator()(Bare_point p, Weighted_point_2 q, Weighted_point_2 r), which compares the power distance between p and q to the power distance between p and r.

A function object constructs the radical axis of two weighted points.

Must provide the operator:

Line_2 operator() ( Weighted_point_2 p, Weighted_point_2 q);

A function object which constructs the weighted circumcenter of three weighted points.

Must provide the operator:

Bare_point operator() ( Weighted_point_2 p, Weighted_point_2 q, Weighted_point_2 r);

A function object which must provide operators for the power test applied to two, three, and four points.

Must provide the operators:

• Oriented_side operator() ( Weighted_point_2 p, Weighted_point_2 q, Weighted_point_2 r, Weighted_point_2 s) which is the power test for points p, q, r and s.
Precondition
the bare points corresponding to p, q, r are not collinear.
• Oriented_side operator() ( Weighted_point_2 p, Weighted_point_2 q, Weighted_point_2 r) which is the degenerated power test for collinear points p, q, r.
Precondition
the bare points corresponding to p, q, r are collinear and p != q.
• Oriented_side operator() ( Weighted_point_2 p, Weighted_point_2 q) which is the degenerated power test for weighted points p and q whose corresponding bare-points are identical.
Precondition
the bare points corresponding to p and q are identical.

The weighted point type.

It has to be a model of the concept WeightedPoint.