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

Definition

Operations

A model of this concept must provide:

Orientation operator() (const Kernel::Point_3 &p, const Kernel::Point_3 &q, const Kernel::Point_3 &r, const Kernel::Point_3 &s)
 If p, q, and s are collinear, then CGAL::COLLINEAR is returned. More...
 
Orientation operator() (const Kernel::Point_3 &p, const Kernel::Point_3 &q, const Kernel::Point_3 &r)
 If p, q, and r are collinear, then CGAL::COLLINEAR is returned. More...
 

Member Function Documentation

Orientation Kernel::CoplanarOrientation_3::operator() ( const Kernel::Point_3 p,
const Kernel::Point_3 q,
const Kernel::Point_3 r,
const Kernel::Point_3 s 
)

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

If not, let P be the plane defined by the points p, q, and r. Note that the order defines the orientation of P. If P and the plane defined by p, q, and s have the same orientation, then 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.
Orientation Kernel::CoplanarOrientation_3::operator() ( const Kernel::Point_3 p,
const Kernel::Point_3 q,
const Kernel::Point_3 r 
)

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

If not, let P be the plane defined by the points p, q, and r. 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 as a 2D orientation in P.