70 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
88 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
102 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the point of the tetrahedron.") );
107 double min =
X1.
Get(i);
109 if (
X2.
Get(i) < min) {
112 if (
X3.
Get(i) < min) {
115 if (
X4.
Get(i) < min) {
123 double max =
X1.
Get(i);
125 if (
X2.
Get(i) > max) {
128 if (
X3.
Get(i) > max) {
131 if (
X4.
Get(i) > max) {
145 a[ 0 ][ 0 ] =
X2.
X() -
X1.
X();
146 a[ 0 ][ 1 ] =
X2.
Y() -
X1.
Y();
147 a[ 0 ][ 2 ] =
X2.
Z() -
X1.
Z();
148 a[ 1 ][ 0 ] =
X3.
X() -
X1.
X();
149 a[ 1 ][ 1 ] =
X3.
Y() -
X1.
Y();
150 a[ 1 ][ 2 ] =
X3.
Z() -
X1.
Z();
151 a[ 2 ][ 0 ] =
X4.
X() -
X1.
X();
152 a[ 2 ][ 1 ] =
X4.
Y() -
X1.
Y();
153 a[ 2 ][ 2 ] =
X4.
Z() -
X1.
Z();
180 TVector N, U1(
X1,
X2), U2(
X1,
X3), U3(
X1,
X4), U4(
X2,
X3), U5(
X2,
X4), U6(
X2,
X1);
184 if (
Dot(N, U3) *
Dot(N, Up1) < 0) {
189 if (
Dot(N, U2) *
Dot(N, Up1) < 0) {
194 if (
Dot(N, U1) *
Dot(N, Up1) < 0) {
199 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