87 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
105 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
119 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the point of the tetrahedron.") );
124 double min =
X1.
Get(i);
126 if (
X2.
Get(i) < min) {
129 if (
X3.
Get(i) < min) {
132 if (
X4.
Get(i) < min) {
140 double max =
X1.
Get(i);
142 if (
X2.
Get(i) > max) {
145 if (
X3.
Get(i) > max) {
148 if (
X4.
Get(i) > max) {
162 a[ 0 ][ 0 ] =
X2.
X() -
X1.
X();
163 a[ 0 ][ 1 ] =
X2.
Y() -
X1.
Y();
164 a[ 0 ][ 2 ] =
X2.
Z() -
X1.
Z();
165 a[ 1 ][ 0 ] =
X3.
X() -
X1.
X();
166 a[ 1 ][ 1 ] =
X3.
Y() -
X1.
Y();
167 a[ 1 ][ 2 ] =
X3.
Z() -
X1.
Z();
168 a[ 2 ][ 0 ] =
X4.
X() -
X1.
X();
169 a[ 2 ][ 1 ] =
X4.
Y() -
X1.
Y();
170 a[ 2 ][ 2 ] =
X4.
Z() -
X1.
Z();
197 TVector N, U1(
X1,
X2), U2(
X1,
X3), U3(
X1,
X4), U4(
X2,
X3), U5(
X2,
X4), U6(
X2,
X1);
201 if (
Dot(N, U3) *
Dot(N, Up1) < 0) {
206 if (
Dot(N, U2) *
Dot(N, Up1) < 0) {
211 if (
Dot(N, U1) *
Dot(N, Up1) < 0) {
216 if (
Dot(N, U6) *
Dot(N, Up2) < 0) {
void SetPoints(const TPoint &P1, const TPoint &P2, const TPoint &P3, const TPoint &P4)
const TPoint & GetPoint(int) const
void SetPoints(const TPoint &, const TPoint &)
static int numberInstance
double Determinant3(double[3][3])
const TTriangle & GetTriangle(int) const
void SetPoints(const TPoint &, const TPoint &, const TPoint &)
TVector Cross(const TVector &, const TVector &)
const TAbscissa & GetAbscissa(int) const
#define THROW(whole_exception_expr)
Wrapper for throw. Saves the throwing point.
double Dot(const TVector &, const TVector &)
bool IsInner(const TPoint &) const