gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/gzz client/AbstractUpdateManager.java view/...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/gzz client/AbstractUpdateManager.java view/...
Date: Wed, 12 Feb 2003 12:42:19 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/02/12 12:42:19

Modified files:
        gzz/client     : AbstractUpdateManager.java 
        gzz/view/buoy  : buoymanager.py 
        gzz/vob/impl   : DefaultVobMatcher.java 

Log message:
        Kludge the animation to be more continuous

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/AbstractUpdateManager.java.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/buoymanager.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/impl/DefaultVobMatcher.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: gzz/gzz/client/AbstractUpdateManager.java
diff -u gzz/gzz/client/AbstractUpdateManager.java:1.35 
gzz/gzz/client/AbstractUpdateManager.java:1.36
--- gzz/gzz/client/AbstractUpdateManager.java:1.35      Mon Jan 27 09:33:19 2003
+++ gzz/gzz/client/AbstractUpdateManager.java   Wed Feb 12 12:42:18 2003
@@ -41,7 +41,7 @@
  */
 
 public abstract class AbstractUpdateManager implements Runnable {
-public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.35 
2003/01/27 14:33:19 tjl Exp $";
+public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.36 
2003/02/12 17:42:18 tjl Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -256,6 +256,13 @@
     }
 
     static public class LinearCalculator implements FractCalculator {
+       float switchFract;
+       public LinearCalculator(float switchFract) {
+           this.switchFract = switchFract;
+       }
+       public LinearCalculator() {
+           switchFract = .5f;
+       }
        int millis = 0; // see defaultAnimationTime
        protected long startTime = 0;
        public void eventAt(long time) {
@@ -274,7 +281,7 @@
 
        public void callRender(long time, Window w) {
            float f = fract(time);
-           w.renderAnim(f, 1, f >= 0.50);
+           w.renderAnim(f, 1, f >= switchFract);
        }
     }
     static public class SimpleCalculator implements FractCalculator {
Index: gzz/gzz/view/buoy/buoymanager.py
diff -u gzz/gzz/view/buoy/buoymanager.py:1.32 
gzz/gzz/view/buoy/buoymanager.py:1.33
--- gzz/gzz/view/buoy/buoymanager.py:1.32       Wed Feb 12 12:39:36 2003
+++ gzz/gzz/view/buoy/buoymanager.py    Wed Feb 12 12:42:19 2003
@@ -11,7 +11,7 @@
 
 # Slow animation for the demo.
 gzz.client.AbstractUpdateManager.defaultAnimationTime = 1500
-gzz.client.AbstractUpdateManager.fractCalc = 
gzz.client.AbstractUpdateManager.LinearCalculator()
+gzz.client.AbstractUpdateManager.fractCalc = 
gzz.client.AbstractUpdateManager.LinearCalculator(0)
 
 
 print "LOADING BUOYMANAGER"
Index: gzz/gzz/vob/impl/DefaultVobMatcher.java
diff -u gzz/gzz/vob/impl/DefaultVobMatcher.java:1.9 
gzz/gzz/vob/impl/DefaultVobMatcher.java:1.10
--- gzz/gzz/vob/impl/DefaultVobMatcher.java:1.9 Wed Feb 12 12:22:51 2003
+++ gzz/gzz/vob/impl/DefaultVobMatcher.java     Wed Feb 12 12:42:19 2003
@@ -28,6 +28,7 @@
 /** A simple hierarchical implementation of VobMatcher.
  */
 public class DefaultVobMatcher implements VobMatcher {
+private static final String rcsid = "$Id: DefaultVobMatcher.java,v 1.10 
2003/02/12 17:42:19 tjl Exp $";  
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -135,22 +136,41 @@
         DefaultVobMatcher other = (DefaultVobMatcher)other0;
        int[] interpList = new int[maxcs+1];
        if(dbg) pa("interplist: "+interpList[0]);
+       int[] toOther = null;
+       if(towardsOther) { // Construct inverse forced matches
+           toOther = new int[maxcs+1];
+           for(int i=0; i<other.maxcs+1; i++) {
+               if(other.keyByCs[i] != null &&
+                  other.keyByCs[i].interpolateTo > 0) {
+                   toOther[other.keyByCs[i].interpolateTo] = i;
+               }
+           }
+       }
        for(int i=1; i<maxcs+1; i++) {
            if(keyByCs[i] == null)
                interpList[i] = -1;
            else {
                Key k = keyByCs[i];
-               if(!towardsOther && k.interpolateTo > 0) {
-                   int csTo = k.interpolateTo;
-                   Key kOther = other.keyByCs[csTo];
-                   // Need to check; otherwise can get core dumps
-                   if(kOther == null) {
-                       pa("??!!! interp wrong");
-                   } else {
-                       if(dbg) pa(i+" overridden into "+csTo);
-                       interpList[i] = csTo;
+               if(towardsOther) {
+                   if(toOther[i] > 0)  {
+                       if(dbg) pa("Inverse overridden: "+i+" "+
+                                   toOther[i]);
+                       interpList[i] = toOther[i];
+                       continue;
+                   }
+               } else {
+                   if(k.interpolateTo > 0) {
+                       int csTo = k.interpolateTo;
+                       Key kOther = other.keyByCs[csTo];
+                       // Need to check; otherwise can get core dumps
+                       if(kOther == null) {
+                           pa("??!!! interp wrong");
+                       } else {
+                           if(dbg) pa(i+" overridden into "+csTo);
+                           interpList[i] = csTo;
+                       }
+                       continue;
                    }
-                   continue;
                }
 
                if(k.parent < 0 || k.parent >= i)




reply via email to

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