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

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

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

Predicates

bool is_degenerate () const
 Tetrahedron t is degenerate, if the vertices are coplanar. More...
 
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. More...
 
Bbox_3 bbox () const
 returns a bounding box containing t. More...
 
Tetrahedron_3< Kerneltransform (const Aff_transformation_3< Kernel > &at) const
 returns the tetrahedron obtained by applying at on the three vertices of t. More...
 

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.

Member Function Documentation

◆ bbox()

template<typename Kernel >
Bbox_3 CGAL::Tetrahedron_3< Kernel >::bbox ( ) const

returns a bounding box containing t.

◆ bounded_side()

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

◆ has_on_boundary()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::has_on_boundary ( const Point_3< Kernel > &  p) const

◆ has_on_bounded_side()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::has_on_bounded_side ( const Point_3< Kernel > &  p) const

◆ has_on_negative_side()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::has_on_negative_side ( const Point_3< Kernel > &  p) const

◆ has_on_positive_side()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::has_on_positive_side ( const Point_3< Kernel > &  p) const

◆ has_on_unbounded_side()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::has_on_unbounded_side ( const Point_3< Kernel > &  p) const

◆ is_degenerate()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::is_degenerate ( ) const

Tetrahedron t is degenerate, if the vertices are coplanar.

◆ operator!=()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::operator!= ( const Tetrahedron_3< Kernel > &  t2) const

Test for inequality.

◆ operator==()

template<typename Kernel >
bool CGAL::Tetrahedron_3< Kernel >::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.

◆ operator[]()

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

returns vertex(int i).

◆ orientation()

template<typename Kernel >
Orientation CGAL::Tetrahedron_3< Kernel >::orientation ( ) const

◆ oriented_side()

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

◆ transform()

template<typename Kernel >
Tetrahedron_3<Kernel> CGAL::Tetrahedron_3< Kernel >::transform ( const Aff_transformation_3< Kernel > &  at) const

returns the tetrahedron obtained by applying at on the three vertices of t.

◆ vertex()

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

returns the i'th vertex modulo 4 of t.

◆ volume()

template<typename Kernel >
Kernel::FT CGAL::Tetrahedron_3< Kernel >::volume ( ) const

returns the signed volume of t.