\( \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 5.0.4 - 2D and 3D Linear Geometry Kernel
CGAL::Tetrahedron_3< Kernel > Class Template Reference

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

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< Kernelvertex (int i) const
 returns the i'th vertex modulo 4 of t.
 
Point_3< Kerneloperator[] (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< Kerneltransform (const Aff_transformation_3< Kernel > &at) const
 returns the tetrahedron obtained by applying at on the three vertices of t.
 

Member Function Documentation

◆ bounded_side()

template<typename Kernel >
Bounded_side CGAL::Tetrahedron_3< Kernel >::bounded_side ( const Point_3< Kernel > &  p) const
Precondition
t is not degenerate.

◆ oriented_side()

template<typename Kernel >
Oriented_side CGAL::Tetrahedron_3< Kernel >::oriented_side ( const Point_3< Kernel > &  p) const
Precondition
t is not degenerate.