CGAL 5.0 - 2D and 3D Linear Geometry Kernel
Kernel::ConstructBisector_2 Concept Reference

## Definition

Refines:
CGAL::bisector()

## Operations

A model of this concept must provide:

Kernel::Line_2 operator() (const Kernel::Point_2 &p, const Kernel::Point_2 &q)
constructs the bisector of p and q. More...

Kernel::Line_2 operator() (const Kernel::Line_2 &l1, const Kernel::Line_2 &l2)
constructs the bisector of the two lines l1 and l2. More...

## ◆ operator()() [1/2]

 Kernel::Line_2 Kernel::ConstructBisector_2::operator() ( const Kernel::Point_2 & p, const Kernel::Point_2 & q )

constructs the bisector of p and q.

The bisector is oriented in such a way that p lies on its positive side.

Precondition
p and q are not equal.

## ◆ operator()() [2/2]

 Kernel::Line_2 Kernel::ConstructBisector_2::operator() ( const Kernel::Line_2 & l1, const Kernel::Line_2 & l2 )

constructs the bisector of the two lines l1 and l2.

In the general case, the bisector has the direction of the vector which is the sum of the normalized directions of the two lines, and which passes through the intersection of l1 and l2. If l1 and l2 are parallel, then the bisector is defined as the line which has the same direction as l1, and which is at the same distance from l1 and l2. This function requires that Kernel::RT supports the sqrt() operation.