[Top][All Lists]
[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]]