gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz ./Makefile ./TODO gfx/rules.mk gfx/demo/fil...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./Makefile ./TODO gfx/rules.mk gfx/demo/fil...
Date: Mon, 30 Sep 2002 18:20:30 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/09/30 18:20:29

Modified files:
        .              : Makefile TODO 
        gfx            : rules.mk 
        gfx/demo       : fillets.py 
        gfx/jni        : GzzGL-jni.cxx 
        gfx/libcoords  : Coords.cxx 
        gfx/librenderables: renderables.py 
        gzz/gfx/gl     : GL.java GLVobCoorder.java 
        gzz/vob        : DefaultVobMatcher.java VobCoorder.java 
                         VobMatcher.java 
        test           : test.py testutil.py 
Added files:
        test/gzz/gfx/gl: glvobcoorder.test 

Log message:
        Various small improvements

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Makefile.diff?tr1=1.172&tr2=1.173&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.202&tr2=1.203&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/rules.mk.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/fillets.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/jni/GzzGL-jni.cxx.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libcoords/Coords.cxx.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.86&tr2=1.87&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GL.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLVobCoorder.java.diff?tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/DefaultVobMatcher.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/VobCoorder.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/VobMatcher.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/test.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/testutil.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/gzz/gfx/gl/glvobcoorder.test?rev=1.1

Patches:
Index: gzz/Makefile
diff -c gzz/Makefile:1.172 gzz/Makefile:1.173
*** gzz/Makefile:1.172  Fri Sep 27 12:06:32 2002
--- gzz/Makefile        Mon Sep 30 18:20:28 2002
***************
*** 372,377 ****
--- 372,379 ----
  
  batchtest:
        $(JYTHON) test/test.py
+ runtest:  # Use: make runtest TEST=gzz/vob/vobmatcher, to run a single test.
+       $(GLLIB) $(JYTHON) test/testutil.py test/$(TEST).test
  run:
        $(JYTHON) Gzz.py $(DBG) -Dgzzclient=awt $(Z)
  rungl:
Index: gzz/TODO
diff -c gzz/TODO:1.202 gzz/TODO:1.203
*** gzz/TODO:1.202      Mon Sep 30 12:30:09 2002
--- gzz/TODO    Mon Sep 30 18:20:28 2002
***************
*** 49,54 ****
--- 49,58 ----
      humppake:
        - clippedPaperQuad (leave unrendered if outside cs3)
            - needs renderable3
+     jvk:
+       - find out why PaperPass crashes when compiled with g++-3.1 
+         (+ optimization). Seems to be when PaperQuad calls setUp_VP, and
+         in localesomething, maybe stringstream stuff?
      jvk, tjl:
        + think about using render-to-texture to speed up papers.
          We now control the repeating units; rendering one such
***************
*** 60,68 ****
      tjl:
        - fix fillet demo
        - xupdf: distorted multi-page PDF view with xu links
-           - proper buoy placement
-               - implement VobCoorder.transform
-           - frame rate ~= 25
            - text
            - entry / link making bindings
                - paint part of page
--- 64,69 ----
***************
*** 82,91 ****
                            - tests for the hierarchy working correctly
            - larger structure
            - multiple instances of same pdf / text visible? --> keys?
!               - special matcher?
                - really USE hierarchical keys
            - clean up the xupdf.py file
!           - paperquad texture binding LOD?
            - better graphics for xu links
            - mouse clicks on buoys to work
            - better distortion
--- 83,93 ----
                            - tests for the hierarchy working correctly
            - larger structure
            - multiple instances of same pdf / text visible? --> keys?
!               - special matcher? - pp/VobKeyer
                - really USE hierarchical keys
            - clean up the xupdf.py file
!           - frame rate ~= 25
!               - paperquad texture binding LOD?
            - better graphics for xu links
            - mouse clicks on buoys to work
            - better distortion
***************
*** 94,99 ****
--- 96,104 ----
            - how to combine client and xupdf
                - just keep abstracting out parts of xupdf and finally
                  make them usable from Java.
+           - proper buoy placement
+               - implement as a new coordinate system type!
+                   - need same for nadir, then
        + script the demo, determine in detail all features
          required. [ almost done ]
            - making a connection
***************
*** 137,142 ****
--- 142,149 ----
              - implement TexGenEmboss::setUp_explicit
            - vertex_explicit() routine to work also without
              paper position.
+           - rename the vertex_* routines that don't take
+             physical coordinates into texcoords_*.
      deetsay:
        - UML and APIs of ImageCache
        - implementation of ImageCache
***************
*** 159,164 ****
--- 166,172 ----
            - move coordsys into their own header file, or at least
              coords header file...
            - this is needed also by making the inversions
+       - clean GzzGL-jni, doc GL.java
      mudyc:
        + make libcallgl use GLX_ARB_get_proc_address for
          the functions in
***************
*** 203,210 ****
              (Tjl's laptop, Geforce4Go) should be >= 24
                - string concenations in heavy loops
                - debug output
!       + a really comprehensive web page of screenshots
          and instructions on how to get them and run.
  
  0.8alpha5: saving, loading etc. with mediaserver useful; tests
      jvk:
--- 211,219 ----
              (Tjl's laptop, Geforce4Go) should be >= 24
                - string concenations in heavy loops
                - debug output
!       - a really comprehensive web page of screenshots
          and instructions on how to get them and run.
+       - fix mirror failing test, make more tests and check.
  
  0.8alpha5: saving, loading etc. with mediaserver useful; tests
      jvk:
***************
*** 227,233 ****
        + Fix UML sequence diagram: now you have to put
          seqobjects *after* the sequence...
        + bidirectional jlinks
-       - fix mirror failing test, make more tests and check.
  
        + Go through test/ and convert tests to either .py or move to basalt/
        + Some basic tests for gfx/
--- 236,241 ----
Index: gzz/gfx/demo/fillets.py
diff -c gzz/gfx/demo/fillets.py:1.5 gzz/gfx/demo/fillets.py:1.6
*** gzz/gfx/demo/fillets.py:1.5 Mon Sep 30 04:15:42 2002
--- gzz/gfx/demo/fillets.py     Mon Sep 30 18:20:28 2002
***************
*** 155,164 ****
  
        s = 400
        sca = 0.4
!       transaffine(vs, "coor", s, s, sca, 0, 0, sca)
  
-       wid, h = (600, 600)
-       l = 300
  
        print "ROTATE ",self.rotate
        if self.rotate:
--- 155,162 ----
  
        s = 400
        sca = 0.4
!       coor = vs.matcher.add(vs.coords.affineCoordsys(0, 0, s, s, sca, 0, 0, 
sca), "coor")
  
  
        print "ROTATE ",self.rotate
        if self.rotate:
***************
*** 166,192 ****
        else:
            angle = 0
  
!       rotate(vs, "rot", angle, -1, 1, 1)
  
-       putnoc(vs, getDListNocoords("""
-           PushMatrix
-           Scale 1 1 1
-           """))
  
!       cc=[(vs.coords.coordsys("foo"+str(d), d, -wid/2, -l-h, wid, h),
!            vs.coords.coordsys("bar"+str(d), d, -wid/2-0.75*wid*self.movel, l, 
wid, h))
!               for d in (600, 800)]
  
-       self.putCells(vs, cc)
  
  
!       putnoc(vs, getDListNocoords("""
!           PushMatrix
!           Scale 1 1 0.01
!           """))
  
!       self.putCells(vs, cc)
!       putnoc(vs, getDListNocoords("""
            Enable BLEND
            PushAttrib ENABLE_BIT
            Disable TEXTURE_2D
--- 164,180 ----
        else:
            angle = 0
  
!       rot = vs.matcher.add(vs.coords.rotateXYZ(coor, angle, -1, 1, 1), "rot")
  
  
!       self.putCells(vs, rot)
  
  
+       sca = vs.matcher.add(vs.coords.scaleXYZ(rot, 1, 1, 0.01), "sca")
  
!       self.putCells(vs, sca)
  
!       vs.map.put(getDList("""
            Enable BLEND
            PushAttrib ENABLE_BIT
            Disable TEXTURE_2D
***************
*** 202,221 ****
            End
            PopMatrix
            PopAttrib
!       """))
! 
!       putnoc(vs, getDListNocoords("PopMatrix"))
! 
!       putnoc(vs, getDListNocoords("PopMatrix"))
!       poptrans(vs, "rot")
!       poptrans(vs, "coor")
  
        putnoc(vs, getDList("""
            PopAttrib
            """))
        return vs
  
!     def putCells(self, vs, cc):
        putnoc(vs, getDList("""
            Color 1 1 1
        """))
--- 190,211 ----
            End
            PopMatrix
            PopAttrib
!       """), sca)
  
        putnoc(vs, getDList("""
            PopAttrib
            """))
        return vs
  
!     def putCells(self, vs, into):
!       wid, h = (600, 600)
!       l = 300
!       cc=[(vs.matcher.addSub(into, 
!                       vs.coords.coordsys(into, d, -wid/2, -l-h, wid, 
h),"foo"+str(d)), 
!            vs.matcher.addSub(into, 
!                       vs.coords.coordsys(into, d, -wid/2-0.75*wid*self.movel, 
l, wid, h), "bar"+str(d)))
!               for d in (600, 800)]
! 
        putnoc(vs, getDList("""
            Color 1 1 1
        """))
Index: gzz/gfx/jni/GzzGL-jni.cxx
diff -c gzz/gfx/jni/GzzGL-jni.cxx:1.39 gzz/gfx/jni/GzzGL-jni.cxx:1.40
*** gzz/gfx/jni/GzzGL-jni.cxx:1.39      Mon Sep 30 06:20:41 2002
--- gzz/gfx/jni/GzzGL-jni.cxx   Mon Sep 30 18:20:28 2002
***************
*** 1069,1074 ****
--- 1069,1108 ----
        return env->NewStringUTF(str);
  }
  
+ JNIEXPORT jboolean JNICALL Java_gzz_gfx_gl_GL_transform
+  (JNIEnv *env, jclass, jint ninds, jintArray j_inds, jfloatArray j_pts,
+     jint coordsys, jboolean inverse, jfloatArray j_points, jfloatArray 
j_into) {
+       jint *inds = env->GetIntArrayElements(j_inds, 0);
+       jfloat *pts = env->GetFloatArrayElements(j_pts, 0);
+ 
+       Coords::CoordSet coordset;
+       coordset.clean();
+       coordset.setPoints(ninds, inds, pts, 0, 0, 0, 0, true);
+ 
+      int arrayLength = env->GetArrayLength(j_points);
+      jfloat *points = env->GetFloatArrayElements(j_points, 0);
+      jfloat *into = env->GetFloatArrayElements(j_into, 0);
+ 
+      Coords::CoordSys *cs = coordset.get(coordsys);
+      if(inverse) cs = cs->getInverse();
+       for(int i=0; i<arrayLength; i+=3) {
+        ZPt pt(points[i], points[i+1], points[i+2]);
+        ZPt pt2 = cs->transform(pt);
+        into[i] = pt2.x;
+        into[i+1] = pt2.y;
+        into[i+2] = pt2.z;
+       }
+ 
+       env->ReleaseFloatArrayElements(j_points, points, JNI_ABORT);
+       env->ReleaseFloatArrayElements(j_into, into, 0); // These were changed, 
commit.
+ 
+       env->ReleaseIntArrayElements(j_inds, inds, JNI_ABORT);
+       env->ReleaseFloatArrayElements(j_pts, pts, JNI_ABORT);
+ 
+       return 1;
+  }
+ 
+ 
  using namespace Renderables;
  
  #include "librenderables/RealRenderables-jni.hxx"
Index: gzz/gfx/libcoords/Coords.cxx
diff -c gzz/gfx/libcoords/Coords.cxx:1.17 gzz/gfx/libcoords/Coords.cxx:1.18
*** gzz/gfx/libcoords/Coords.cxx:1.17   Mon Sep 30 12:30:10 2002
--- gzz/gfx/libcoords/Coords.cxx        Mon Sep 30 18:20:28 2002
***************
*** 157,163 ****
            float  paral = para.length();
            para = (1/paral)*para;
            ZVec ortho = para.crossp(v).normalized();
!           to = ZPt( same * vec + paral * (c * para + s * ortho) );
        }
        virtual ZPt transform(const ZPt &p) const {
            ZPt mp;
--- 157,163 ----
            float  paral = para.length();
            para = (1/paral)*para;
            ZVec ortho = para.crossp(v).normalized();
!           to = ZPt( same * vec + paral * (c * para - s * ortho) );
        }
        virtual ZPt transform(const ZPt &p) const {
            ZPt mp;
***************
*** 172,183 ****
        virtual bool canPerformGL() { return super->canPerformGL(); }
          virtual bool performGL() {
            if(!super->performGL()) return false;
!           glRotatef(params[0], vec.x, vec.y, vec.z);
            return true;
        }
      } ;
      ;
  
      /** Distorted coordinate system.
       * Parameter layout: x, y (of center), log(mag), log(min), w, h.
       * W and h give the width and height in the inside coordinate system
--- 172,224 ----
        virtual bool canPerformGL() { return super->canPerformGL(); }
          virtual bool performGL() {
            if(!super->performGL()) return false;
!           glRotatef(params[3], vec.x, vec.y, vec.z);
            return true;
        }
      } ;
      ;
  
+     /** Scale.
+      * Params: sx, sy, sz
+      */
+     class ScaleXYZCoords : public CoordSys {
+       ZVec vec; 
+     public:
+       enum { NParams = 3 };
+       virtual void setParams(float *params) {
+           CoordSys::setParams(params);
+           vec.x = params[0];
+           vec.y = params[1];
+           vec.z = params[2];
+       }
+       /** Perform the internal transformation of this 
+        * coordsys.
+        */
+       void tr(const ZPt &from, ZPt &to) const {
+           to.x = from.x * vec.x;
+           to.y = from.y * vec.y;
+           to.z = from.z * vec.z;
+       }
+       virtual ZPt transform(const ZPt &p) const {
+           ZPt mp;
+           tr(p, mp);
+           return super->transform(mp);
+       }
+       virtual void vertex(const ZPt &p) const {
+           ZPt mp;
+           tr(p, mp);
+           super->vertex(mp);
+       }
+       virtual bool canPerformGL() { return super->canPerformGL(); }
+         virtual bool performGL() {
+           if(!super->performGL()) return false;
+           glScalef(vec.x, vec.y, vec.z);
+           return true;
+       }
+     } ;
+     ;
+ 
+ 
      /** Distorted coordinate system.
       * Parameter layout: x, y (of center), log(mag), log(min), w, h.
       * W and h give the width and height in the inside coordinate system
***************
*** 246,252 ****
        0, 
        new Factory<AffineXYCoords>(),
        new Factory<RotateXYCoords>(),
!       new Factory<DistortCoords>()
      };
  
      int CoordSet::nparams(int typecode) { 
--- 287,296 ----
        0, 
        new Factory<AffineXYCoords>(),
        new Factory<RotateXYCoords>(),
!       new Factory<DistortCoords>(),
!       new Factory<RotateXYZCoords>(),
!       new Factory<ScaleXYZCoords>(),
!       0
      };
  
      int CoordSet::nparams(int typecode) { 
Index: gzz/gfx/librenderables/renderables.py
diff -c gzz/gfx/librenderables/renderables.py:1.86 
gzz/gfx/librenderables/renderables.py:1.87
*** gzz/gfx/librenderables/renderables.py:1.86  Mon Sep 30 05:10:23 2002
--- gzz/gfx/librenderables/renderables.py       Mon Sep 30 18:20:28 2002
***************
*** 426,446 ****
  
            for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); 
++it) {
  
!               if (dbg) cout << "Pass\\n";
                (*it).setUp_VP(&lightParam);
  
                GLERR
                glMultiDrawElementsEXT(GL_QUAD_STRIP,
                        counts, GL_UNSIGNED_INT, (const GLvoid **)indps, 
dice-1);
  
                GLERR
                (*it).tearDown_VP();
                GLERR
  
            }
  
            glUnlockArraysEXT();
            glPopClientAttrib();
  
            GLERR
        """,
--- 426,450 ----
  
            for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); 
++it) {
  
!               DBG(dbg) << "Pass\\n";
                (*it).setUp_VP(&lightParam);
  
+               DBG(dbg) << "Going to multidraw\\n";
                GLERR
                glMultiDrawElementsEXT(GL_QUAD_STRIP,
                        counts, GL_UNSIGNED_INT, (const GLvoid **)indps, 
dice-1);
  
+               DBG(dbg) << "Teardown\\n";
                GLERR
                (*it).tearDown_VP();
                GLERR
+               DBG(dbg) << "Pass over\\n";
  
            }
  
            glUnlockArraysEXT();
            glPopClientAttrib();
+           DBG(dbg) << "Pass over\\n";
  
            GLERR
        """,
Index: gzz/gfx/rules.mk
diff -c gzz/gfx/rules.mk:1.7 gzz/gfx/rules.mk:1.8
*** gzz/gfx/rules.mk:1.7        Mon Sep 30 04:15:42 2002
--- gzz/gfx/rules.mk    Mon Sep 30 18:20:28 2002
***************
*** 10,17 ****
  JNIINC=-I${JAVAHOME}/include -I${JAVAHOME}/include/linux -I../../../lava/gfx
  
  # -fomit-frame-pointer
! OPTIMIZE =  -O2 -ffast-math 
! # OPTIMIZE = -O0
  
  #NVIDIAH = /usr/lib/opengl/nvidia/include
  NVIDIAH = /usr/share/doc/nvidia-glx-dev/include
--- 10,21 ----
  JNIINC=-I${JAVAHOME}/include -I${JAVAHOME}/include/linux -I../../../lava/gfx
  
  # -fomit-frame-pointer
! 
! # Choose architecture
! ARCH=-march=pentium4 -mfpmath=sse
! 
! # OPTIMIZE =  -O3 -ffast-math $(ARCH) 
! OPTIMIZE = -O0
  
  #NVIDIAH = /usr/lib/opengl/nvidia/include
  NVIDIAH = /usr/share/doc/nvidia-glx-dev/include
Index: gzz/gzz/gfx/gl/GL.java
diff -c gzz/gzz/gfx/gl/GL.java:1.7 gzz/gzz/gfx/gl/GL.java:1.8
*** gzz/gzz/gfx/gl/GL.java:1.7  Wed Sep 25 10:45:43 2002
--- gzz/gzz/gfx/gl/GL.java      Mon Sep 30 18:20:28 2002
***************
*** 599,604 ****
--- 599,607 ----
                    int[] codes,
                    boolean standardcoords);
  
+     public static native boolean transform(int ninds, int[] inds, float[] pts,
+                   int coordsys, boolean inverse, float[] points, float[]into);
+ 
      /** Process native events.
       * @param wait If false, this function will return once there are no more
       *                native events to process. If true, this function will 
wait
Index: gzz/gzz/gfx/gl/GLVobCoorder.java
diff -c gzz/gzz/gfx/gl/GLVobCoorder.java:1.31 
gzz/gzz/gfx/gl/GLVobCoorder.java:1.32
*** gzz/gzz/gfx/gl/GLVobCoorder.java:1.31       Thu Sep 26 14:39:24 2002
--- gzz/gzz/gfx/gl/GLVobCoorder.java    Mon Sep 30 18:20:28 2002
***************
*** 29,35 ****
  import gzz.client.gl.*;
  
  public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.31 2002/09/26 
18:39:24 tjl Exp $";
      public static boolean dbg = false;
      private static void pa(String s) { System.err.println(s); }
  
--- 29,35 ----
  import gzz.client.gl.*;
  
  public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.32 2002/09/30 
22:20:28 tjl Exp $";
      public static boolean dbg = false;
      private static void pa(String s) { System.err.println(s); }
  
***************
*** 84,89 ****
--- 84,124 ----
        return was;
      }
  
+     public int rotateXYZ(int into, float degrees, float x, float y, float z) {
+       floats[nfloats + 0] = x;
+       floats[nfloats + 1] = y;
+       floats[nfloats + 2] = z;
+       floats[nfloats + 3] = degrees;
+       int paramInd = nfloats;
+       nfloats += 4;
+ 
+       inds[ninds + 0] = 4; // rotation xyz
+       inds[ninds + 1] = into;
+       inds[ninds + 2] = paramInd;
+       int was = ninds / 3;
+       ninds += 3;
+ 
+       return was;
+     }
+ 
+     public int scaleXYZ(int into, float sx, float sy, float sz) {
+       floats[nfloats + 0] = sx;
+       floats[nfloats + 1] = sy;
+       floats[nfloats + 2] = sz;
+       int paramInd = nfloats;
+       nfloats += 3;
+ 
+       inds[ninds + 0] = 5; // rotation xyz
+       inds[ninds + 1] = into;
+       inds[ninds + 2] = paramInd;
+       int was = ninds / 3;
+       ninds += 3;
+ 
+       return was;
+     }
+ 
+ 
+ 
      public int distort(int into, float x, float y, float w, float h, float 
mag, float min) {
  
        floats[nfloats + 0] = x;
***************
*** 152,157 ****
--- 187,201 ----
      public boolean needInterp(VobCoorder interpTo, int[] interpList) {
          // XXX
        return true;
+     }
+ 
+     public void transformPoints3(int withCS, float[] points, float[]into) {
+       GL.transform(ninds, inds, floats, 
+                   withCS, false, points, into);
+     }
+     public boolean inverseTransformPoints3(int withCS, float[] points, 
float[]into) {
+       return GL.transform(ninds, inds, floats, 
+                   withCS, true, points, into);
      }
  
  }
Index: gzz/gzz/vob/DefaultVobMatcher.java
diff -c gzz/gzz/vob/DefaultVobMatcher.java:1.7 
gzz/gzz/vob/DefaultVobMatcher.java:1.8
*** gzz/gzz/vob/DefaultVobMatcher.java:1.7      Sun Sep 29 10:47:35 2002
--- gzz/gzz/vob/DefaultVobMatcher.java  Mon Sep 30 18:20:28 2002
***************
*** 66,79 ****
  
  
      // --- implement VobMatcher
!     public void add(int cs, Object key) {
          addSub(0, cs, key);
      }
!     public void addSub(int into, int cs, Object key) {
          ensure(cs);
          if(key == null) key = NULL;
          keyByCs[cs] = new Key(key, into);
        csByKey.put(keyByCs[cs], new Integer(cs));
      }
  
      protected int getCSByKeyObject(Key key) {
--- 66,81 ----
  
  
      // --- implement VobMatcher
!     public int add(int cs, Object key) {
          addSub(0, cs, key);
+       return cs;
      }
!     public int addSub(int into, int cs, Object key) {
          ensure(cs);
          if(key == null) key = NULL;
          keyByCs[cs] = new Key(key, into);
        csByKey.put(keyByCs[cs], new Integer(cs));
+       return cs;
      }
  
      protected int getCSByKeyObject(Key key) {
Index: gzz/gzz/vob/VobCoorder.java
diff -c gzz/gzz/vob/VobCoorder.java:1.15 gzz/gzz/vob/VobCoorder.java:1.16
*** gzz/gzz/vob/VobCoorder.java:1.15    Mon Sep 30 04:19:56 2002
--- gzz/gzz/vob/VobCoorder.java Mon Sep 30 18:20:28 2002
***************
*** 55,67 ****
  
      /** Transform a point to screen coordinates from the given cs.
       */
!     public void transform(int withCS, float[] pt, float[]into) {
        throw new UnsupportedOperationException("transform not supported yet");
      }
      /** 
       * @return True, if a reasonable inverse was found.
       */
!     public boolean inverseTransform(int withCS, float[] pt, float[]into) {
        throw new UnsupportedOperationException("inverse transform not 
supported yet");
      }
  }
--- 55,67 ----
  
      /** Transform a point to screen coordinates from the given cs.
       */
!     public void transformPoints3(int withCS, float[] pt, float[]into) {
        throw new UnsupportedOperationException("transform not supported yet");
      }
      /** 
       * @return True, if a reasonable inverse was found.
       */
!     public boolean inverseTransformPoints3(int withCS, float[] pt, 
float[]into) {
        throw new UnsupportedOperationException("inverse transform not 
supported yet");
      }
  }
Index: gzz/gzz/vob/VobMatcher.java
diff -c gzz/gzz/vob/VobMatcher.java:1.2 gzz/gzz/vob/VobMatcher.java:1.3
*** gzz/gzz/vob/VobMatcher.java:1.2     Wed Sep 25 13:56:00 2002
--- gzz/gzz/vob/VobMatcher.java Mon Sep 30 18:20:28 2002
***************
*** 27,34 ****
   */
  
  public interface VobMatcher {
!     void add(int cs, Object key); // called by VobScene.put &c.
!     void addSub(int into, int cs, Object key);
  
      int getCS(Object key);
  
--- 27,43 ----
   */
  
  public interface VobMatcher {
!     /** Add key to a cs, and return the cs.
!      * Used in idiom like
!      * <pre>cs = vs.matcher.add(vs.coords.affineCoordsys(...), "Foo")
!      * </pre>
!      * @return cs.
!      */
!     int add(int cs, Object key); // called by VobScene.put &c.
!     /** 
!      * @return cs.
!      */
!     int addSub(int into, int cs, Object key);
  
      int getCS(Object key);
  
Index: gzz/test/test.py
diff -c gzz/test/test.py:1.19 gzz/test/test.py:1.20
*** gzz/test/test.py:1.19       Sun Aug 18 08:00:30 2002
--- gzz/test/test.py    Mon Sep 30 18:20:28 2002
***************
*** 82,88 ****
  
  def suite():
      return unittest.TestSuite(
!       [testutil.suite('test/gzz/')] +
          [unittest.makeSuite(cls) for cls in
            [
                TestSimpleDim,
--- 82,88 ----
  
  def suite():
      return unittest.TestSuite(
!       [testutil.suite(['test/gzz/'])] +
          [unittest.makeSuite(cls) for cls in
            [
                TestSimpleDim,
Index: gzz/test/testutil.py
diff -c gzz/test/testutil.py:1.10 gzz/test/testutil.py:1.11
*** gzz/test/testutil.py:1.10   Fri Sep  6 07:04:58 2002
--- gzz/test/testutil.py        Mon Sep 30 18:20:28 2002
***************
*** 33,39 ****
  
  import unittest, os.path, fnmatch, string, imp
  
! def tests(dir):
      """
      Return a list of all *.test files in a given directory and its
      subdirectories.
--- 33,39 ----
  
  import unittest, os.path, fnmatch, string, imp
  
! def tests(files):
      """
      Return a list of all *.test files in a given directory and its
      subdirectories.
***************
*** 45,51 ****
          list.extend(names)
  
      tests = []
!     os.path.walk(dir, addTests, tests)
      return tests
  
  faildefs = compile("""
--- 45,55 ----
          list.extend(names)
  
      tests = []
!     for f in files:
!       if os.path.isdir(f):
!           os.path.walk(f, addTests, tests)
!       else:
!           tests.append(f)
      return tests
  
  faildefs = compile("""
***************
*** 106,116 ****
  
  
  
! def suite(dir):
      """Create a test suite for all .tests in a given directory."""
      return unittest.TestSuite([unittest.makeSuite(load(t))
!                                for t in tests(dir)])
  
  
  if __name__ == '__main__':
!     unittest.TextTestRunner(verbosity=2).run(suite('test/'))
--- 110,125 ----
  
  
  
! def suite(files):
      """Create a test suite for all .tests in a given directory."""
      return unittest.TestSuite([unittest.makeSuite(load(t))
!                                for t in tests(files)])
  
  
  if __name__ == '__main__':
!     import sys
!     test = ['test/']
!     if len(sys.argv) > 1:
!       test = sys.argv[1:]
!     unittest.TextTestRunner(verbosity=2).run(suite(test))
! 




reply via email to

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