CGAL 5.6 - 2D Triangulations
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_3<K>

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.

CGAL::Bbox_2 operator()(Point_2 p); Returns the bounding box of p. The result type is CGAL::Bbox_2 (even 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.

boost::optional<boost::variant<Point_2,Segment_2> > operator()(Segment_2 s1, Segment_2 s2); Returns the intersection of s1 and s2.