[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx demo/fillet/ambiguity.py demo/paper/sin...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] gzz/gfx demo/fillet/ambiguity.py demo/paper/sin... |
Date: |
Thu, 19 Dec 2002 18:05:46 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Tuomas J. Lukka <address@hidden> 02/12/19 18:05:46
Modified files:
gfx/demo/fillet: ambiguity.py
gfx/demo/paper : singlepaper.py util.py
gfx/util : demokeys.py
Log message:
More demo fixes
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/fillet/ambiguity.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/paper/singlepaper.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/paper/util.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/util/demokeys.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/fillet/ambiguity.py
diff -u gzz/gfx/demo/fillet/ambiguity.py:1.3
gzz/gfx/demo/fillet/ambiguity.py:1.4
--- gzz/gfx/demo/fillet/ambiguity.py:1.3 Thu Dec 12 05:04:40 2002
+++ gzz/gfx/demo/fillet/ambiguity.py Thu Dec 19 18:05:46 2002
@@ -3,6 +3,7 @@
from __future__ import nested_scopes
from util import *
+from gfx.util.demokeys import *
class Scene(AlphaCells):
"""Demonstrate the ambiguity of box-line views.
@@ -16,19 +17,11 @@
AlphaCells.__init__(self)
self.ind = 5
self.bgcolor = (0.9, 0.6, 0.6)
- self.shift = 0
- self.fillet = 0
- def key(self, k):
- """Keys:
+ self.key = KeyPresses(self,
+Toggle("fillet", 0, "filleting", "f", noAnimation=1),
+Toggle("shift", 0, "layout ambiguity (shifting)", "s"),
+ )
- s: Toggle layout
- f: Toggle filletting
- """
- if k == "s":
- self.shift = 1-self.shift
- if k == "f":
- self.fillet = 1-self.fillet
- gzz.client.AbstractUpdateManager.setNoAnimation()
def putcells(self, vs, dx):
d = vs.getSize()
w = d.width / 20
Index: gzz/gfx/demo/paper/singlepaper.py
diff -u gzz/gfx/demo/paper/singlepaper.py:1.3
gzz/gfx/demo/paper/singlepaper.py:1.4
--- gzz/gfx/demo/paper/singlepaper.py:1.3 Thu Dec 19 10:31:00 2002
+++ gzz/gfx/demo/paper/singlepaper.py Thu Dec 19 18:05:46 2002
@@ -1,6 +1,7 @@
from __future__ import nested_scopes
from util import *
from gfx.util.misc import *
+import re
class Scene:
"""Shows a single unique background texture at a time.
@@ -16,23 +17,27 @@
print "Paper2scene, keys = ",keys
self.key = KeyPresses(self,
- Action("Choose random seed", "v", self.randomize,
- noAnimation=1),
+Action("Choose random seed", "v", self.randomize, noAnimation=1),
+Action("Edit seed number", re.compile("[0-9]|Back[sS]pace"),
+ self.__class__.editSeed, noAnimation=1),
*keys
)
- def randomize(self):
+ def randomize(self, *args):
self.seed = rng.nextInt(2000000000)
self.initpaper()
+ def editSeed(self,k):
+ if k >= "0" and k <= "9": self.seed = self.seed * 10 + int(k)
+ if k == "BackSpace" or k == "Backspace": self.seed = self.seed / 10
+ self.initpaper()
+
def initpaper(self):
self.pq = getpaper(self.seed)
self.opq = getpaper(self.seed, optimized = 1)
def OLDkey(self, k):
oldseed = self.seed
- if k >= "0" and k <= "9": self.seed = self.seed * 10 + int(k)
- if k == "BackSpace" or k == "Backspace": self.seed = self.seed / 10
if k == 'o':
rotatelist(self.optimized)
Index: gzz/gfx/demo/paper/util.py
diff -u gzz/gfx/demo/paper/util.py:1.3 gzz/gfx/demo/paper/util.py:1.4
--- gzz/gfx/demo/paper/util.py:1.3 Thu Dec 19 10:31:00 2002
+++ gzz/gfx/demo/paper/util.py Thu Dec 19 18:05:46 2002
@@ -97,16 +97,21 @@
rng = java.util.Random()
-def toggleOpengl11():
+def toggleOpengl11(*args):
gzz.gfx.gl.PaperOptions.use_opengl_1_1 = \
not gzz.gfx.gl.PaperOptions.use_opengl_1_1
print 'Use of OpenGL 1.1:', gzz.gfx.gl.PaperOptions.use_opengl_1_1
+def togglePapermillDebug(*args):
+ gfx.libpaper.papermill.dbg = not gfx.libpaper.papermill.dbg
+ print "Papermilldbg ",gfx.libpaper.papermill.dbg
+
from gfx.util.demokeys import *
keys = [
SlideLog("zoom", 900.0, "zoom factor", "<", ">"),
Action("Reload textures", "t", retexture),
Action("Toggle using OpenGL 1.1 -compatibility mode", "O", toggleOpengl11),
+ Action("Toggle papermill debug", "d", togglePapermillDebug),
]
benchmark = 0
@@ -120,8 +125,6 @@
passmask[i] = not passmask[i]
print passmask
currentScene.initpaper()
- if k == "d":
- gfx.libpaper.papermill.dbg = not gfx.libpaper.papermill.dbg
# if k == "c":
# global cmap
# x,y = 0,0
Index: gzz/gfx/util/demokeys.py
diff -u gzz/gfx/util/demokeys.py:1.2 gzz/gfx/util/demokeys.py:1.3
--- gzz/gfx/util/demokeys.py:1.2 Thu Dec 19 10:31:00 2002
+++ gzz/gfx/util/demokeys.py Thu Dec 19 18:05:46 2002
@@ -2,26 +2,38 @@
from __future__ import nested_scopes
from gzz.client import AbstractUpdateManager
+import re
+somere = re.compile("[ab]")
class KeyPresses:
+ """An object that can function as the ``key`` method
+ of a gl demo.
+
+ """
def __init__(self, scene, *args):
self.scene = scene
print args
self.things = args
self.keymap = {}
+ self.res = []
self.__doc__ = ""
print "KEYMAP: things = ",self.things
for t in self.things:
for k in t.getKeys():
print "KEY: ",k
self.keymap[k[0]] = k[1]
+ self.res.extend(t.getREs())
t.prepare(scene)
- self.__doc__ += t.descline
+ self.__doc__ += "\n" + t.descline
def __call__(self, key):
if self.keymap.has_key(key):
return self.keymap[key](self.scene,key)
- print "No such key known: ",key,"Here:",self.keymap
+ else:
+ for r in self.res:
+ if r[0].match(key):
+ return r[1](self.scene, key)
+ print "No such key known: ",key,"Here:",self.keymap,self.res
class _NoAnimation:
def __init__(self, func): self.func = func
@@ -38,13 +50,21 @@
self.keys = [
(k[0], _NoAnimation(k[1])) for k in self.keys]
def getKeys(self):
- return self.keys
+ return [k for k in self.keys if not isinstance(k[0], somere.__class__)]
def getREs(self):
"""Get the regular expressions this object
wants to catch.
"""
- pass
+ return [k for k in self.keys if isinstance(k[0], somere.__class__)]
+ def keyStrings(self):
+ list = []
+ for k in self.keys:
+ if isinstance(k[0], somere.__class__):
+ list.append(k[0].pattern)
+ else:
+ list.append(k[0])
+ return ", ".join(list)
class Action(_Presses):
"""A key used to fire an action.
@@ -54,23 +74,25 @@
(key, self.act),
)
self.func = func
- self.descline = key + ": " + description
+ self.descline = self.keyStrings() + ": " + description
def prepare(self, scene):
pass
def act(self, scene, key):
- self.func()
+ self.func(scene, key)
class Toggle(_Presses):
"""A key used to toggle a feature on or off.
"""
def __init__(self, attr, default, description, key, **opts):
- _Presses.__init__(self, opts, key = self.toggle)
+ _Presses.__init__(self, opts,
+ (key, self.toggle)
+ )
self.attr = attr
self.default = default
- self.descline = key + ": Toggle " + description
+ self.descline = self.keyStrings() + ": Toggle " + description
def prepare(self, scene):
setattr(scene, self.attr, self.default)
@@ -88,7 +110,7 @@
)
self.attr = attr
self.default = default
- self.descline = keydown+","+keyup + ": Adjust " + description
+ self.descline = self.keyStrings()+ ": Adjust " + description
def prepare(self, scene):
setattr(scene, self.attr, self.default)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/gfx demo/fillet/ambiguity.py demo/paper/sin...,
Tuomas J. Lukka <=