 ## CGAL::Tetrahedron_3<Kernel>

### Definition

An object t of the class Tetrahedron_3<Kernel> is an oriented tetrahedron in the three-dimensional Euclidean space 3.

It is defined by four vertices p0, p1, p2 and p3. The orientation of a tetrahedron is the orientation of its four vertices. That means it is positive when p3 is on the positive side of the plane defined by p0, p1 and p2.

The tetrahedron itself splits the space 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.

### Creation

 Tetrahedron_3 t ( Point_3 p0, Point_3 p1, Point_3 p2, Point_3 p3); introduces a tetrahedron t with vertices p0, p1, p2 and p3.

### Operations

 bool t.operator== ( t2) 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 t.operator!= ( t2) Test for inequality. Point_3 t.vertex ( int i) returns the i'th vertex modulo 4 of t. Point_3 t.operator[] ( int i) returns vertex(int i).

### Predicates

bool t.is_degenerate () Tetrahedron t is degenerate, if the vertices are coplanar.

Orientation t.orientation ()

Oriented_side t.oriented_side ( Point_3<Kernel> p)
 Precondition: : t is not degenerate.

Bounded_side t.bounded_side ( Point_3<Kernel> p)
 Precondition: : t is not degenerate.

For convenience we provide the following Boolean functions:

 bool t.has_on_positive_side ( Point_3 p) bool t.has_on_negative_side ( Point_3 p) bool t.has_on_boundary ( Point_3 p) bool t.has_on_bounded_side ( Point_3 p) bool t.has_on_unbounded_side ( Point_3 p)

### Miscellaneous

 Kernel::FT t.volume () returns the signed volume of t. Bbox_3 t.bbox () returns a bounding box containing t. Tetrahedron_3 t.transform ( Aff_transformation_3 at) returns the tetrahedron obtained by applying at on the three vertices of t.