85 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
103 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the triangle of the tetrahedron.") );
117 default:
THROW( ExcAssertMsg() << EI_Message(
"Unknown number of the point of the tetrahedron.") );
122 double min =
X1.
Get(i);
124 if (
X2.
Get(i) < min) {
127 if (
X3.
Get(i) < min) {
130 if (
X4.
Get(i) < min) {
138 double max =
X1.
Get(i);
140 if (
X2.
Get(i) > max) {
143 if (
X3.
Get(i) > max) {
146 if (
X4.
Get(i) > max) {
160 a[ 0 ][ 0 ] =
X2.
X() -
X1.
X();
161 a[ 0 ][ 1 ] =
X2.
Y() -
X1.
Y();
162 a[ 0 ][ 2 ] =
X2.
Z() -
X1.
Z();
163 a[ 1 ][ 0 ] =
X3.
X() -
X1.
X();
164 a[ 1 ][ 1 ] =
X3.
Y() -
X1.
Y();
165 a[ 1 ][ 2 ] =
X3.
Z() -
X1.
Z();
166 a[ 2 ][ 0 ] =
X4.
X() -
X1.
X();
167 a[ 2 ][ 1 ] =
X4.
Y() -
X1.
Y();
168 a[ 2 ][ 2 ] =
X4.
Z() -
X1.
Z();
195 TVector N, U1(
X1,
X2), U2(
X1,
X3), U3(
X1,
X4), U4(
X2,
X3), U5(
X2,
X4), U6(
X2,
X1);
199 if (
Dot(N, U3) *
Dot(N, Up1) < 0) {
204 if (
Dot(N, U2) *
Dot(N, Up1) < 0) {
209 if (
Dot(N, U1) *
Dot(N, Up1) < 0) {
214 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