## RegularTriangulationTraits_2

### Definition

The concept RegularTriangulationTraits_2 describe the requirements for the traits class of regular triangulations. It refines the concept TriangulationTraits_2 providing the type Weighted_point_2 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 interprated 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

### Types

RegularTriangulationTraits_2::Bare_point
| Another name for the point type.
RegularTriangulationTraits_2::Weighted_point_2
| The weighted point type, it has to be a model of the concept WeightedPoint.
RegularTriangulationTraits_2::Power_test_2

A predicate object type. 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.

RegularTriangulationTraits_2::Construct_weighted_circumcenter_2
| A constructor object which constructs the weighted circumcenter of three weighted points. Provides the operator Bare_point operator() ( Weighted_point_2 p, Weighted_point_2 q, Weighted_point_2 r);
RegularTriangulationTraits_2::Construct_radical_axis_2
| A constructor type which constructs the radical axis of two weighted points. Provides the operator : Line_2 operator() ( Weighted_point_2 p, Weighted_point_2 q);

### Creation

RegularTriangulationTraits_2 traits;
| default constructor.
RegularTriangulationTraits_2 traits ( RegularTriangulatioTraits_2);
| copy constructor.

RegularTriangulationTraits_2&
| traits = RegularTriangulationTraits_2
|  | assignement operator

### Access to predicate and constructors objects

Power_test_2 | traits.power_test_2_object ()
Construct_weighted_circumcenter_2
| traits.construct_weighted_circumcenter_2_object ()
Construct_radical_axis_2
| traits.construct_radical_axis_2_object ()

### Has Models

CGAL::Regular_triangulation_traits_2<Rep>

### See Also

TriangulationTraits_2
CGAL::Regular_triangulation_2<Traits,Tds>