gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire/loom WheelView.java WheelVi...


From: Benja Fallenstein
Subject: [Gzz-commits] fenfire/org/fenfire/loom WheelView.java WheelVi...
Date: Tue, 25 Mar 2003 13:48:04 -0500

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Changes by:     Benja Fallenstein <address@hidden>      03/03/25 13:48:04

Modified files:
        org/fenfire/loom: WheelView.java WheelView.test 

Log message:
        Refactor, working towards more context

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/WheelView.java.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/loom/WheelView.test.diff?tr1=1.15&tr2=1.16&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/loom/WheelView.java
diff -u fenfire/org/fenfire/loom/WheelView.java:1.11 
fenfire/org/fenfire/loom/WheelView.java:1.12
--- fenfire/org/fenfire/loom/WheelView.java:1.11        Sun Mar 16 11:24:12 2003
+++ fenfire/org/fenfire/loom/WheelView.java     Tue Mar 25 13:48:04 2003
@@ -60,9 +60,44 @@
     protected int sizex = 150, sizey = 20;
     protected int gapx = 50, gapy = 30;
 
+    protected int radius = sizex + gapx;
+
     /** Maximum rotation angle. */
     protected double maxrota = Math.PI / 9;
 
+    /** 
+     *  Render either posward or negward connections
+     *  (or onward, maybe).
+     */
+    public void renderSomewardConnections(VobScene sc, int into, Cursor c,
+                                         Resource node, int before,
+                                         int dir, double rota, float r, 
+                                         int focusCs, int depth,
+                                         int midx, int midy) {
+       double cura = -(before * rota);
+       if(dir < 0) cura += Math.PI;
+       for(Iterator j=c.getConnections(node, dir).iterator(); j.hasNext();) {
+           Statement stmt = (Statement)j.next();
+           
+           NodeView.Nodespec spec = 
+               new NodeView.Nodespec(stmt, dir);
+           int x = midx+x(cura, r)-sizex/2;
+           int y = midy+y(cura, r)-sizey/2;
+           int cs2 = sc.orthoBoxCS(into, spec, Math.abs(before),
+                                   x, y, 1, 1, sizex, sizey);
+           sc.coords.activate(cs2);
+           nodeView.render(sc, cs2, spec);
+                           
+           if(dir > 0)
+               sc.map.put(conn, focusCs, cs2);    
+           else
+               sc.map.put(conn, cs2, focusCs);
+
+           cura+=rota;
+           before--;
+       }
+    }
+
     public void render(VobScene sc, int into, Cursor c) {
        int midx = sc.size.width/2, midy = sc.size.height/2;
        NodeView.Nodespec spec = new NodeView.Nodespec(c.focus);
@@ -87,44 +122,17 @@
        int r = gapx + sizex;
 
        /** Poswards connections */
-       int before = c.getRotationIndex(1);     
-       double cura = -(before * rota);
-       for(Iterator j=c.getConnections(1).iterator(); j.hasNext();) {
-           Statement stmt = (Statement)j.next();
-           RDFNode node = stmt.getObject();
-           spec = new NodeView.Nodespec(node, stmt.getPredicate(), 1);
-           int cs2 = sc.orthoBoxCS(into, spec, Math.abs(before),
-                                   midx+x(cura, r)-sizex/2,
-                                   midy+y(cura, r)-sizey/2,
-                                   1, 1, sizex, sizey);
-           sc.coords.activate(cs2);
-           nodeView.render(sc, cs2, spec);
-                           
-           sc.map.put(conn, cs, cs2);    
-           cura+=rota;
-           before--;
-       }
+       renderSomewardConnections(sc, into, c, c.focus, 
+                                 c.getRotationIndex(1), 1, 
+                                 rota, r, cs, 1, midx, midy);
 
        /** Negward connections */
-       before = c.getRotationIndex(-1);        
-       cura = Math.PI-(before * rota);
-       for(Iterator j=c.getConnections(-1).iterator(); j.hasNext();) {
-           Statement stmt = (Statement)j.next();
-           RDFNode node = stmt.getSubject();
-           spec = new NodeView.Nodespec(node, stmt.getPredicate(), -1);
-           int cs2 = sc.orthoBoxCS(into, spec, Math.abs(before),
-                                   midx+x(cura, r)-sizex/2,
-                                   midy+y(cura, r)-sizey/2,
-                                   1, 1, sizex, sizey);
-           sc.coords.activate(cs2);
-           nodeView.render(sc, cs2, spec);
-           sc.map.put(conn, cs2, cs);
-           cura+=rota;
-           before--;
-       }
+       renderSomewardConnections(sc, into, c, c.focus,
+                                 c.getRotationIndex(-1), -1, 
+                                 rota, r, cs, 1, midx, midy);
     }
 
-    int x(double angle, int radius) {
+    int x(double angle, float radius) {
         return (int)(Math.cos(angle) * radius);
     }
                
Index: fenfire/org/fenfire/loom/WheelView.test
diff -u fenfire/org/fenfire/loom/WheelView.test:1.15 
fenfire/org/fenfire/loom/WheelView.test:1.16
--- fenfire/org/fenfire/loom/WheelView.test:1.15        Sat Mar 15 16:57:59 2003
+++ fenfire/org/fenfire/loom/WheelView.test     Tue Mar 25 13:48:04 2003
@@ -117,6 +117,13 @@
     cs_r, cs_s, cs_t, cs_u, cs_v, cs_w = \
         [vs.matcher.getCS(0, x) for x in (kr,ks,kt,ku,kv,kw)]
 
+    assert cs_r >= 0
+    assert cs_s >= 0
+    assert cs_t >= 0
+    assert cs_u >= 0
+    assert cs_v >= 0
+    assert cs_w >= 0
+
     pr, ps, pt, pu, pv, pw = \
         [vs.coords.transformPoint(cs, 0, 0, None)
          for cs in [cs_r, cs_s, cs_t, cs_u, cs_v, cs_w]]




reply via email to

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