CGAL 6.1.2 - 2D and 3D Linear Geometry Kernel: CGAL::Tetrahedron_3< Kernel > Class Template Reference

CGAL 6.1.2 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
List of all members
CGAL::Tetrahedron_3< Kernel > Class Template Reference
Reference Manual » 3D Kernel Objects

`#include <CGAL/Tetrahedron_3.h>`

## Definition

template<typename Kernel>
class CGAL::Tetrahedron_3< Kernel >

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.

Is model of
  `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

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

## Constructor & Destructor Documentation

## ◆ Tetrahedron_3()

template<typename Kernel >

CGAL::Tetrahedron_3< Kernel >::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`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## Member Function Documentation

## ◆ bbox()

template<typename Kernel >

Bbox_3 CGAL::Tetrahedron_3< Kernel >::bbox | ( |  | ) | const

returns a bounding box containing `t`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## ◆ bounded_side()

template<typename Kernel >

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

Precondition
  `t` is not degenerate.

## ◆ operator[]()

template<typename Kernel >

Point_3< Kernel > CGAL::Tetrahedron_3< Kernel >::operator[] | ( | int | i | ) | const

returns `vertex(int i)`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## ◆ oriented_side()

template<typename Kernel >

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

Precondition
  `t` is not degenerate.

## ◆ vertex()

template<typename Kernel >

Point_3< Kernel > CGAL::Tetrahedron_3< Kernel >::vertex | ( | int | i | ) | const

returns the i-th vertex modulo 4 of `t`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.