\( \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.8 - 2D and 3D Linear Geometry Kernel

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
CGAL::coplanar_orientation()
Global Kernel Functions

##

See Also
  `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...

## Function Documentation

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`.

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.

`#include <CGAL/Kernel/global_functions.h>`

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.

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`.

`#include <CGAL/Kernel/global_functions.h>`