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>