gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx/librenderables renderables.py


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx/librenderables renderables.py
Date: Wed, 13 Nov 2002 11:41:38 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/13 11:41:37

Modified files:
        gfx/librenderables: renderables.py 

Log message:
        Add higher degree irregular ellipse shapes (F9 - F12 in irregu4.py)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.143&tr2=1.144&r1=text&r2=text

Patches:
Index: gzz/gfx/librenderables/renderables.py
diff -u gzz/gfx/librenderables/renderables.py:1.143 
gzz/gfx/librenderables/renderables.py:1.144
--- gzz/gfx/librenderables/renderables.py:1.143 Wed Nov 13 11:28:44 2002
+++ gzz/gfx/librenderables/renderables.py       Wed Nov 13 11:41:37 2002
@@ -1308,6 +1308,9 @@
                 }
                 return v;
             }
+            double power(double x, double y) {
+                return x < 0 ? -pow(-x,y) : pow(x,y);
+            }
     """,
     "ParamCode" : """
             this->shape = shape;
@@ -1332,6 +1335,7 @@
         // XXX: TODO: use coords1.nonlinearity()
         int n = (int)(36 * dicefactor);
         std::vector<ZPt> vert(n+1);
+
         
         switch (shape) {
         case 1:
@@ -1348,13 +1352,26 @@
                 vert[i] = coords2.transform(ZPt(cos(a), sin(a), 0));
             }
             break;
-        case 7:
+        case 7: {
             n = 4;
             float t = 1/sqrt(2);
             vert[0] = coords2.transform(ZPt(+t, -t, 0));
             vert[1] = coords2.transform(ZPt(+t, +t, 0));
             vert[2] = coords2.transform(ZPt(-t, +t, 0));
             vert[3] = coords2.transform(ZPt(-t, -t, 0));
+            }
+            break;
+        case 8:
+        case 9:
+        case 10:
+        case 11: {
+            float pow = 4 + (shape - 8) * 2;
+            pow = 2 / pow;
+            for (int i = 0; i < n; i++) { 
+                float a = i * 2*M_PI / n;
+                vert[i] = coords2.transform(ZPt(power(cos(a),pow), 
power(sin(a),pow), 0));
+            }
+            }
             break;
         }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]