CGAL 5.4 - 2D and 3D Linear Geometry Kernel

Functions

template<typename Kernel >
CGAL::Line_2< KernelCGAL::bisector (const CGAL::Point_2< Kernel > &p, const CGAL::Point_2< Kernel > &q)
 constructs the bisector line of the two points p and q. More...
 
template<typename Kernel >
CGAL::Line_2< KernelCGAL::bisector (const CGAL::Line_2< Kernel > &l1, const CGAL::Line_2< Kernel > &l2)
 constructs the bisector of the two lines l1 and l2. More...
 
template<typename Kernel >
CGAL::Plane_3< KernelCGAL::bisector (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q)
 constructs the bisector plane of the two points p and q. More...
 
template<typename Kernel >
CGAL::Plane_3< KernelCGAL::bisector (const CGAL::Plane_3< Kernel > &h1, const CGAL::Plane_3< Kernel > &h2)
 constructs the bisector of the two planes h1 and h2. More...
 

Function Documentation

◆ bisector() [1/4]

template<typename Kernel >
CGAL::Line_2<Kernel> CGAL::bisector ( const CGAL::Point_2< Kernel > &  p,
const CGAL::Point_2< Kernel > &  q 
)

#include <CGAL/Kernel/global_functions.h>

constructs the bisector line of the two points 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.

◆ bisector() [2/4]

template<typename Kernel >
CGAL::Line_2<Kernel> CGAL::bisector ( const CGAL::Line_2< Kernel > &  l1,
const CGAL::Line_2< Kernel > &  l2 
)

#include <CGAL/Kernel/global_functions.h>

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. If Kernel::FT is not a model of FieldWithSqrt an approximation of the square root will be used in this function, impacting the exactness of the result even with an (exact) multiprecision number type.

◆ bisector() [3/4]

template<typename Kernel >
CGAL::Plane_3<Kernel> CGAL::bisector ( const CGAL::Point_3< Kernel > &  p,
const CGAL::Point_3< Kernel > &  q 
)

#include <CGAL/Kernel/global_functions.h>

constructs the bisector plane of the two points 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.

◆ bisector() [4/4]

template<typename Kernel >
CGAL::Plane_3<Kernel> CGAL::bisector ( const CGAL::Plane_3< Kernel > &  h1,
const CGAL::Plane_3< Kernel > &  h2 
)

#include <CGAL/Kernel/global_functions.h>

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. If Kernel::FT is not a model of FieldWithSqrt an approximation of the square root will be used in this function, impacting the exactness of the result even with an (exact) multiprecision number type.