[Top][All Lists]
[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))
!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz ./Makefile ./TODO gfx/rules.mk gfx/demo/fil...,
Tuomas J. Lukka <=