\( \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
List of all members
CGAL::Tetrahedron_3< Kernel > Class Template Reference
3D Kernel Objects

`#include <CGAL/Tetrahedron_3.h>`

## Definition

An object `t` of the class `Tetrahedron_3` is an oriented tetrahedron in the three-dimensional Euclidean space \( \E^3\).

It is defined by four vertices \( p_0\), \( p_1\), \( p_2\) and \( p_3\). The orientation of a tetrahedron is the orientation of its four vertices. That means it is positive when \( p_3\) is on the positive side of the plane defined by \( p_0\), \( p_1\) and \( p_2\).

The tetrahedron itself splits the space \( \E^3\) in a positive and a negative side.

The boundary of a tetrahedron splits the space in two open regions, a bounded one and an unbounded one.

See Also
  `Kernel::Tetrahedron_3`

## Creation
| Tetrahedron_3 (const Point_3< Kernel > &p0, const Point_3< Kernel > &p1, const Point_3< Kernel > &p2, const Point_3< Kernel > &p3)
| introduces a tetrahedron `t` with vertices `p0`, `p1`, `p2` and `p3`.

## Operations
bool | operator== (const Tetrahedron_3< Kernel > &t2) const
| Test for equality: two tetrahedra `t` and `t2` are equal, iff `t` and `t2` have the same orientation and their sets (not sequences) of vertices are equal.
bool | operator!= (const Tetrahedron_3< Kernel > &t2) const
| Test for inequality.
Point_3< Kernel > | vertex (int i) const
| returns the i'th vertex modulo 4 of `t`.
Point_3< Kernel > | operator[] (int i) const
| returns `vertex(int i)`.

## Predicates
bool | is_degenerate () const
| Tetrahedron `t` is degenerate, if the vertices are coplanar.
Orientation | orientation () const
Oriented_side | oriented_side (const Point_3< Kernel > &p) const
Bounded_side | bounded_side (const Point_3< Kernel > &p) const

## Convencience Boolean Functions
bool | has_on_positive_side (const Point_3< Kernel > &p) const
bool | has_on_negative_side (const Point_3< Kernel > &p) const
bool | has_on_boundary (const Point_3< Kernel > &p) const
bool | has_on_bounded_side (const Point_3< Kernel > &p) const
bool | has_on_unbounded_side (const Point_3< Kernel > &p) const

## Miscellaneous
Kernel::FT | volume () const
| returns the signed volume of `t`.
Bbox_3 | bbox () const
| returns a bounding box containing `t`.
Tetrahedron_3< Kernel > | transform (const Aff_transformation_3< Kernel > &at) const
| returns the tetrahedron obtained by applying `at` on the three vertices of `t`.

## Member Function Documentation

template<typename Kernel >

Bounded_side CGAL::Tetrahedron_3< Kernel >::bounded_side | ( | const Point_3< Kernel > & | p) |  | const

Precondition
  `t` is not degenerate.

template<typename Kernel >

Oriented_side CGAL::Tetrahedron_3< Kernel >::oriented_side | ( | const Point_3< Kernel > & | p) |  | const

Precondition
  `t` is not degenerate.