CGAL 4.14 - 2D and 3D Linear Geometry Kernel
CGAL::coplanar_orientation()
CGAL::coplanar()
CGAL::coplanar_side_of_bounded_circle()
CGAL::orientation()

## Functions

template<typename Kernel >
Orientation CGAL::coplanar_orientation (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r, const CGAL::Point_3< Kernel > &s)
Let P be the plane defined by the points p, q, and r. More...

template<typename Kernel >
Orientation CGAL::coplanar_orientation (const CGAL::Point_3< Kernel > &p, const CGAL::Point_3< Kernel > &q, const CGAL::Point_3< Kernel > &r)
If p,q,r are collinear, then CGAL::COLLINEAR is returned. More...

## ◆ coplanar_orientation() [1/2]

template<typename Kernel >
 Orientation CGAL::coplanar_orientation ( const CGAL::Point_3< Kernel > & p, const CGAL::Point_3< Kernel > & q, const CGAL::Point_3< Kernel > & r, const CGAL::Point_3< Kernel > & s )

#include <CGAL/Kernel/global_functions.h>

Let P be the plane defined by the points p, q, and r.

Note that the order defines the orientation of P. The function computes the orientation of points p, q, and s in P: Iff p, q, s are collinear, CGAL::COLLINEAR is returned. Iff P and the plane defined by p, q, and s have the same orientation, CGAL::POSITIVE is returned; otherwise CGAL::NEGATIVE is returned.

Precondition
p, q, r, and s are coplanar and p, q, and r are not collinear.

## ◆ coplanar_orientation() [2/2]

template<typename Kernel >
 Orientation CGAL::coplanar_orientation ( const CGAL::Point_3< Kernel > & p, const CGAL::Point_3< Kernel > & q, const CGAL::Point_3< Kernel > & r )

#include <CGAL/Kernel/global_functions.h>

If p,q,r are collinear, then CGAL::COLLINEAR is returned.

If not, then p,q,r define a plane p. The return value in this case is either CGAL::POSITIVE or CGAL::NEGATIVE, but we don't specify it explicitly. However, we guarantee that all calls to this predicate over 3 points in p will return a coherent orientation if considered a 2D orientation in p.