CGAL 6.2 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
List of all members
Kernel::CoplanarOrientation_3 Concept Reference
Reference Manual » Concepts » Kernel Function Object Concepts

## Definition

Refines
  `AdaptableQuaternaryFunction`

See also
  `CGAL::coplanar_orientation()`

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

## Member Function Documentation

## ◆ operator()() [1/2]

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

## ◆ operator()() [2/2]

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.