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

Definition

Refines:
AdaptableFunctor (with two arguments)
See Also
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...
 

Member Function Documentation

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.
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 l1, and which is at the same distance from h1 and h2. This function requires that Kernel::RT supports the sqrt() operation.