]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] mexV Zulässigkeitsbedingungen angepasst
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Thu, 2 Aug 2012 12:50:21 +0000 (14:50 +0200)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Thu, 2 Aug 2012 12:50:21 +0000 (14:50 +0200)
src/mex_build_V.cpp
src/slpRectangle.cpp
src/slpRectangle.hpp

index 5605095d9b4341a11338340f83bc8bb883a1f374..cb20cc4d2621af49a8d96963f3239642104ce0e1 100644 (file)
@@ -127,20 +127,20 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
        //Art der Berechnung bestimmen\r
 //     cout << "  Typ:" << type << endl;\r
        switch (type) {\r
-       default:\r
+       default:        // Voll Analytisch\r
                ctypeP = cParO1;\r
                ctypeO = NULL;\r
                break;\r
-       case 2:\r
-               ctypeP = cParO0;\r
+       case 2:         // Analytisch oder Qadratur\r
+               ctypeP = cParO2;\r
                ctypeO = NULL;\r
                break;\r
-       case 3:\r
-               ctypeP = cParO2;\r
+       case 3:         // Analytisch oder Qx1x2\r
+               ctypeP = cParO3;\r
                ctypeO = NULL;\r
                break;\r
        case 4:\r
-               ctypeP = cParO3;\r
+               ctypeP = cParO4;\r
                ctypeO = NULL;\r
                break;\r
        }\r
index 8b59659d6aea4e0b797e3ce06905f6f0bba0da54..b9e5aaf9475c03e66561374204d790a10a2f6c6f 100644 (file)
@@ -435,6 +435,7 @@ double calcParIntO0(double b, double d, double t, double v, double d1,
                double d2, double d3, double zeta) {\r
        return calcParIntA(b, d, t, v, d1, d2, d3);\r
 }\r
+\r
 double calcOrtIntO0(double b, double d, double t, double v, double d1,\r
                double d2, double d3, double zeta) {\r
        return calcOrtIntA(b, d, t, v, d1, d2, d3);\r
@@ -577,7 +578,12 @@ double calcOrtIntO3(double b, double d, double t, double v, double d1,
        }\r
 }\r
 \r
-double cParO0(double b, double d, double t, double v, double d1, double d2,\r
+double cParO1(double b, double d, double t, double v, double d1, double d2,\r
+               double d3, double* zeta) {\r
+       return calcParIntA(b, d, t, v, d1, d2, d3);\r
+}\r
+\r
+double cParO2(double b, double d, double t, double v, double d1, double d2,\r
                double d3, double* zeta) {\r
        double tmp = 0;\r
 \r
@@ -606,17 +612,12 @@ double cParO0(double b, double d, double t, double v, double d1, double d2,
        return 0;\r
 }\r
 \r
-double cParO1(double b, double d, double t, double v, double d1, double d2,\r
-               double d3, double* zeta) {\r
-       return calcParIntA(b, d, t, v, d1, d2, d3);\r
-}\r
-\r
-double cParO2(double b, double d, double t, double v, double d1, double d2,\r
+double cParO3(double b, double d, double t, double v, double d1, double d2,\r
                double d3, double* zeta) {\r
 \r
        double tmp = 0;\r
 \r
-       // kleine Seite nach vorn\r
+       // kleine Seite nach vorn (x1 y1)\r
        if (b > t) {\r
                tmp = b;\r
                b = t;\r
@@ -624,7 +625,7 @@ double cParO2(double b, double d, double t, double v, double d1, double d2,
                d1 = -d1;\r
        }\r
 \r
-       // kleine Seite nach vorn\r
+       // kleine Seite nach vorn (x2 y2)\r
        if (d > v) {\r
                tmp = d;\r
                d = v;\r
@@ -642,7 +643,7 @@ double cParO2(double b, double d, double t, double v, double d1, double d2,
        return 0;\r
 }\r
 \r
-double cParO3(double b, double d, double t, double v, double d1, double d2,\r
+double cParO4(double b, double d, double t, double v, double d1, double d2,\r
                double d3, double* zeta) {\r
 \r
        double tmp = 0;\r
@@ -663,33 +664,15 @@ double cParO3(double b, double d, double t, double v, double d1, double d2,
                d2 = -d2;\r
        }\r
 \r
-       if ((b * b + d * d) < zeta[0] * (d1 * d1 + d2 * d2 + d3 * d3)) {\r
-\r
-               //kleinere Achse nach vorn\r
-               if (b * b + t * t > d * d + v * v) {\r
-                       double tmp = 0;\r
-\r
-                       tmp = b;\r
-                       b = d;\r
-                       d = tmp;\r
-                       tmp = t;\r
-                       t = v;\r
-                       v = tmp;\r
+       if ((t * t + v * v) < zeta[1] * (d1 * d1 + d2 * d2 + d3 * d3)) {\r
 \r
-                       tmp = d1;\r
-                       d1 = d2;\r
-                       d2 = tmp;\r
-               }\r
-\r
-               if (min(b, t) <= zeta[1] * d1) {\r
-//                     cout << "A";\r
-                       return calcParIntQY1X1(b, d, t, v, d1, d2, d3);\r
-               } else {\r
-//                     cout << "E";\r
+               if ((b * b + d * d) < zeta[0] * (d1 * d1 + d2 * d2 + d3 * d3)) {\r
                        return calcParIntQX1X2(b, d, t, v, d1, d2, d3);\r
+               } else {\r
+                       return calcParIntA(b, d, t, v, d1, d2, d3);\r
                }\r
        } else {\r
-               return calcParIntA(b, d, t, v, d1, d2, d3);\r
+               return calcParIntQ(b, d, t, v, d1, d2, d3);\r
        }\r
 \r
        return 0;\r
index bcb57fa203c23de2aa5481de26aee6828b61c638..d7992d4d5165021ac45a2fc08e787263f2c682a2 100644 (file)
        // sol = cParIntX(b,d,t,v,d1,d2,d3,eta);
 
        //Voll Analytisch
-       double cParO0(double, double, double, double, double, double, double,
-                       double*);
        double cParO1(double, double, double, double, double, double, double,
                        double*);
+       //A oder Q
        double cParO2(double, double, double, double, double, double, double,
                        double*);
+       //A oder Qx1x2
        double cParO3(double, double, double, double, double, double, double,
                        double*);
+       // A oder Q oder Qx1x2
+       double cParO4(double, double, double, double, double, double, double,
+                       double*);
 
 
 //}