\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.1 - 2D Triangulation
ConstrainedTriangulationTraits_2 Concept Reference

Definition

The concept ConstrainedTriangulationTraits_2 defines the requirements for the geometric traits class of a constrained triangulation ( CGAL::Constrained_triangulation_2<Traits,Tds,Itag>) that supports intersections of input constraints (i. e. when the template parameter Itag is instantiated by one of the tag classes CGAL::Exact_intersections_tag or CGAL::Exact_predicates_tag). This concept refines the concept TriangulationTraits_2, adding requirements for function objects to compute the intersection points of two constraints. When CGAL::Exact_predicates_tag is used, the traits class is also required to provide additional types to compute the squared distance between a point and a line.

Refines:
TriangulationTraits_2
Has Models:

All CGAL Kernels

CGAL::Projection_traits_xy_3<K>

CGAL::Projection_traits_yz_3<K>

CGAL::Projection_traits_xz_3<K>

See also
TriangulationTraits_2
ConstrainedDelaunayTriangulationTraits_2
CGAL::Constrained_triangulation_2<Traits,Tds,Itag>

Types

typedef unspecified_type Intersect_2
 A function object whose operator() computes the intersection of two segments. More...
 

Types required with Exact_predicates_tag

When the constrained triangulation is instantiated with the intersection tag CGAL::Exact_predicates_tag, the used algorithm needs to be able to compare some distances between points and lines and the following types are further required.

typedef unspecified_type RT
 A number type supporting the comparison operator <.
 
typedef unspecified_type Line_2
 The line type.
 
typedef unspecified_type Construct_line_2
 A function object whose operator() constructs a line from two points. More...
 
typedef unspecified_type Compute_squared_distance_2
 A function object whose operator() computes the squared distance between a line and a point. More...
 
typedef unspecified_type Compute_bounding_box_2
 A function object whose operator() computes the bounding box of a point. More...
 

Access to Constructor Objects

Intersect_2 intersect_2_object ()
 
Construct_line_2 construct_line_2_object ()
 required when the intersection tag is CGAL::Exact_predicates_tag.
 
Compute_squared_distance_2 compute_squared_distance_2_object ()
 required when the intersection tag is CGAL::Exact_predicates_tag.
 

Member Typedef Documentation

◆ Compute_bounding_box_2

A function object whose operator() computes the bounding box of a point.

unspecified_type operator()(Point_2 p); Returns the bounding box of p. The result type is either Bbox_2 or Bbox_3 (for projection traits classes).

◆ Compute_squared_distance_2

A function object whose operator() computes the squared distance between a line and a point.

RT operator()(Line_2 l, Point_2 p); Returns the squared distance between p and l.

◆ Construct_line_2

A function object whose operator() constructs a line from two points.

Line_2 operator()(Point_2 p1, Point_2 p2).

◆ Intersect_2

A function object whose operator() computes the intersection of two segments.

Object_2 operator()(Segment_2 s1, Segment_2 s2); Returns the intersection of s1 and s2.