## ConformingDelaunayTriangulationTraits_2

### Definition

The concept ConformingDelaunayTriangulationTraits_2 refines the concept ConstrainedDelaunayTriangulationTraits_2 by providing a numeric field type FT, a type Vector_2 and several constructors on Vector_2, Point_2, and a predicate on angles. The field type has to be a model of the concept SqrtFieldNumberType. This field type and the constructors are used by the conforming algorithm to compute Steiner points on constrained edges.

### Refines

DelaunayTriangulationTraits_2

### Types

ConformingDelaunayTriangulationTraits_2::FT
| The field type. It must be a model of SqrtFieldNumberType, that is must be a number type supporting the operations +, -, *, /, and sqrt( · ).
ConformingDelaunayTriangulationTraits_2::Vector_2
| The vector type.
ConformingDelaunayTriangulationTraits_2::Construct_vector_2
| Constructor object. Must provide the operator Vector_2 operator()(Point a, Point b) that computes the vector b-a.
ConformingDelaunayTriangulationTraits_2::Construct_scaled_vector_2
| Constructor object. Must provide the operator Vector_2 operator()(Vector_2 v, FT scale) that computes the vector scale · v.
ConformingDelaunayTriangulationTraits_2::Construct_translated_point_2
| Constructor object. Must provide the operator Point_2 operator()(Point_2 p, Vector_2 v) that computes the point p + v.
ConformingDelaunayTriangulationTraits_2::Construct_midpoint_2
| Constructor object. Must provide the operator Point_2 operator()(Point_2 a, Point_2 b) that computes the midpoint of the segment ab.
ConformingDelaunayTriangulationTraits_2::Compute_squared_distance_2
| Constructor object. Must provide the operator FT operator()(Point_2 a, Point_2 b) that computes the squared distance between a and b.
ConformingDelaunayTriangulationTraits_2::Angle_2
| Predicate object. Must provide the operator CGAL::Angle operator()(Point_2 p, Point_2 q, Point_2 r) that returns OBTUSE, RIGHT or ACUTE depending on the angle formed by the three points p, q, r (q being the vertex of the angle).

### Access to predicate and constructor objects

Construct_vector_2 | traits.construct_vector_2_object ()
Construct_scaled_vector_2
| traits.construct_scaled_vector_2_object ()
Construct_translated_point_2
| traits.construct_translated_point_2_object ()
Constructor_midpoint_2
| traits.construct_midpoint_2_object ()
Compute_squared_distance_2
| traits.compute_squared_distance_2_object ()
Angle_2 | traits.angle_2_object ()

### Has Models

Any model of Kernel concept. In particular, all CGAL kernels.