\( \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.4 - 2D and 3D Linear Geometry Kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Kernel::ConstructBisector_2 Concept Reference

Definition

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...
 

Member Function Documentation

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.
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.