 CGAL 4.14.3 - 2D and 3D Linear Geometry Kernel
Kernel::ConstructBisector_3 Concept Reference

## Definition

Refines:
AdaptableFunctor (with two arguments)
CGAL::bisector()

## Operations

A model of this concept must provide:

Kernel::Plane_3 operator() (const Kernel::Point_3 &p, const Kernel::Point_3 &q)
constructs the bisector plane of p and q. More...

Kernel::Plane_3 operator() (const Kernel::Plane_3 &h1, const Kernel::Plane_3 &h2)
constructs the bisector of the two planes h1 and h2. More...

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

 Kernel::Plane_3 Kernel::ConstructBisector_3::operator() ( const Kernel::Point_3 & p, const Kernel::Point_3 & q )

constructs the bisector plane 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::Plane_3 Kernel::ConstructBisector_3::operator() ( const Kernel::Plane_3 & h1, const Kernel::Plane_3 & h2 )

constructs the bisector of the two planes h1 and h2.

In the general case, the bisector has a normal vector which has the same direction as the sum of the normalized normal vectors of the two planes, and passes through the intersection of h1 and h2. If h1 and h2 are parallel, then the bisector is defined as the plane which has the same oriented normal vector as h1, and which is at the same distance from h1 and h2. This function requires that Kernel::RT supports the sqrt() operation.