From a6c4d08c3b1b30fdf266efc1d53c2ca9914b8b7d Mon Sep 17 00:00:00 2001 From: Peter Schaefer Date: Thu, 2 Aug 2012 16:17:32 +0200 Subject: [PATCH] =?utf8?q?[src]=20alte=20automatische=20Funktionen=20kompl?= =?utf8?q?ett=20entfernt=20[src]=20standard=20analytisch=20f=C3=BCr=20Auto?= =?utf8?q?maitsche=20funktionen=20erstellt=20und=20eingerichtet?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mex_build_V.cpp | 8 +-- src/slpRectangle.cpp | 150 ++----------------------------------------- src/slpRectangle.hpp | 1 + 3 files changed, 9 insertions(+), 150 deletions(-) diff --git a/src/mex_build_V.cpp b/src/mex_build_V.cpp index cb20cc4..a479a0d 100644 --- a/src/mex_build_V.cpp +++ b/src/mex_build_V.cpp @@ -129,19 +129,19 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { switch (type) { default: // Voll Analytisch ctypeP = cParO1; - ctypeO = NULL; + ctypeO = cOrtO1; break; case 2: // Analytisch oder Qadratur ctypeP = cParO2; - ctypeO = NULL; + ctypeO = cOrtO1; break; case 3: // Analytisch oder Qx1x2 ctypeP = cParO3; - ctypeO = NULL; + ctypeO = cOrtO1; break; case 4: ctypeP = cParO4; - ctypeO = NULL; + ctypeO = cOrtO1; break; } diff --git a/src/slpRectangle.cpp b/src/slpRectangle.cpp index 421052f..d4a509a 100644 --- a/src/slpRectangle.cpp +++ b/src/slpRectangle.cpp @@ -495,156 +495,14 @@ double calcOrtIntQX1X2(double b, double d, double t, double v, double d1, } -double calcParIntO0(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - return calcParIntA(b, d, t, v, d1, d2, d3); -} - -double calcOrtIntO0(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - return calcOrtIntA(b, d, t, v, d1, d2, d3); -} - -double calcParIntO1(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - //Elmente anordnen - if (b * b + d * d > t * t + v * v) { - double tmp = 0; - - tmp = b; - b = t; - t = tmp; - tmp = d; - d = v; - v = tmp; - - d1 = -d1; - d2 = -d2; - d3 = -d3; - } - +double cParO1(double b, double d, double t, double v, double d1, double d2, + double d3, double* zeta) { return calcParIntA(b, d, t, v, d1, d2, d3); } -double calcOrtIntO1(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - //Elmente anordnen - if (b * b + d * d > t * t + v * v) { - double tmp = 0; - - tmp = b; - b = v; - v = tmp; - tmp = d; - d = t; - t = tmp; - - d1 = -d1; - d2 = -d2; - d3 = -d3; - } - - return calcOrtIntA(b, d, t, v, d1, d2, d3); -} - -double calcParIntO2(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - //Elmente anordnen - if (b * b + d * d > t * t + v * v) { - double tmp = 0; - - tmp = b; - b = t; - t = tmp; - tmp = d; - d = v; - v = tmp; - - d1 = -d1; - d2 = -d2; - d3 = -d3; - } - -// if ((b * b + d * d) * zeta < d1 * d1 + d2 * d2 + d3 * d3) { - return calcParIntQX1X2(b, d, t, v, d1, d2, d3); -// } else { -// cout << "2error"; -// return calcParIntA(b, d, t, v, d1, d2, d3); -// } - -} - -double calcOrtIntO2(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - //Elmente anordnen - if (d > t) { - double tmp = 0; - - tmp = b; - b = v; - v = tmp; - tmp = d; - d = t; - t = tmp; - - d1 = -d1; - d2 = -d2; - d3 = -d3; - } - - if ((b * b + d * d) * zeta <= d1 * d1 + d2 * d2 + d3 * d3) { - return calcOrtIntQX1X2(b, d, t, v, d1, d2, d3); - } else { - // cout << "2error"; - return calcOrtIntA(b, d, t, v, d1, d2, d3); - } -} - -double calcParIntO3(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - //Achsen vertauschen - if (b * b + t * t > d * d + v * v) { - double tmp = 0; - - tmp = b; - b = d; - d = tmp; - tmp = t; - t = v; - v = tmp; - - tmp = d1; - d1 = d2; - d2 = tmp; - } - -// if ((min(b, t) * zeta <= d1) && (min(d, v) * zeta <= d2) ) { - return calcParIntQY1X1(b, d, t, v, d1, d2, d3); -// } else { -// cout << "3error"; -// return calcParIntA(b, d, t, v, d1, d2, d3); -// } - -} - -double calcOrtIntO3(double b, double d, double t, double v, double d1, - double d2, double d3, double zeta) { - - if (max(b, t) * zeta > d1) { - return 0; - } else { - return calcOrtIntA(b, d, t, v, d1, d2, d3); - } -} - -double cParO1(double b, double d, double t, double v, double d1, double d2, +double cOrtO1(double b, double d, double t, double v, double d1, double d2, double d3, double* zeta) { - return calcParIntA(b, d, t, v, d1, d2, d3); + return calcOrtIntA(b, d, t, v, d1, d2, d3); } double cParO2(double b, double d, double t, double v, double d1, double d2, diff --git a/src/slpRectangle.hpp b/src/slpRectangle.hpp index 3dd7a1a..4995bd2 100644 --- a/src/slpRectangle.hpp +++ b/src/slpRectangle.hpp @@ -42,6 +42,7 @@ double calcOrtIntQX1X2(double, double, double, double, double, double, double); //Voll Analytisch double cParO1(double, double, double, double, double, double, double, double*); +double cOrtO1(double, double, double, double, double, double, double, double*); //A oder Q double cParO2(double, double, double, double, double, double, double, double*); //A oder Qx1x2 -- 2.47.3