/[gzz]/gzz/gfx/util/papersampler.py
ViewVC logotype

Diff of /gzz/gfx/util/papersampler.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by tjl, Mon Mar 3 08:27:06 2003 UTC revision 1.3 by tjl, Mon Mar 3 12:25:47 2003 UTC
# Line 1  Line 1 
1    from __future__ import nested_scopes
2    
3  import sys  import sys
4    import random
5  from java.lang import Runnable, System  from java.lang import Runnable, System
6    
7  import gzz  import gzz
8    
9  System.setProperty("gzzclient", "gl")  System.setProperty("gzzclient", "gl")
10    
11  from gzz.client import GraphicsAPI  from gzz.client import GraphicsAPI
12  from gzz.gfx.gl import GL, GLRen, GLSpans, Paper, GLCache  from gzz.gfx.gl import GL, GLRen, GLSpanner, Paper, GLCache
13            
14  from gfx.util.misc import *  from gfx.util.misc import *
15  from gfx.libutil import saveanim      from gfx.libutil import saveanim    
# Line 13  from gfx.libutil import saveanim Line 17  from gfx.libutil import saveanim
17  xs = 1024  xs = 1024
18  ys = 768  ys = 768
19    
20    zoomLevels = [1, 2, 3, 4]
21    
22    class OptMill(gzz.gfx.gl.PaperMill):
23        def __init__(self, mill, opts):
24            self.mill = mill
25            self.opts = opts
26        def getPaper(self,seed):
27            return mill.getPaper(seed, **opts)
28        def getOptimizedPaper(self, seed, w):
29            return mill.getOptimizedPaper(seed, w, **opts)
30    
31    lightnesses = [
32            { "numcolors" : 8, "minlum" : 80 },
33            { "numcolors" : 8, "minlum" : 94 },
34            { "numcolors" : 1, "minlum" : 80 },
35            ]
36    
37  aspect = float(xs)/ys  aspect = float(xs)/ys
38    
39    enfMaker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker()
40  textblock = "011D75251F04C8BF89A44C88D875886B2B5172522A"  textblock = "011D75251F04C8BF89A44C88D875886B2B5172522A"
41    scroll = gzz.media.impl.PageImageScroll(None,
42                gzz.mediaserver.Mediaserver.Id(textblock)),
43    current = scroll.getCurrent()
44    
45    pages = [enfMaker.makeEnfilade(current.subSpan(i, i+1)) for i in range(0, current.length())]
46    
47    textureSeeds = [i for i in range(523, 523+current.length())]
48    
49    class PSPMaker(gzz.view.PageSpanCellView.PageSpanPaperMaker):
50        def getPaper(spanpage, pagespan):
51            return gzz.gfx.gl.PageSpanPaper(spanpage,
52                                        textureSeeds[pagespan.offset()])
53    
54  def getpaper(seed, opts):  def getpaper(seed, opts):
55      pap = ThePaperMill().getPaper(seed, **opts)      pap = ThePaperMill().getPaper(seed, **opts)
# Line 31  def paperscene(vs, seed, opts): Line 65  def paperscene(vs, seed, opts):
65      cs2 = vs.affineCS(0, "tex", 1, 0, 0, scale, 0, 0, scale)      cs2 = vs.affineCS(0, "tex", 1, 0, 0, scale, 0, 0, scale)
66      pq = getpaper(seed, opts)      pq = getpaper(seed, opts)
67      vs.map.put(pq, cs1, cs2)      vs.map.put(pq, cs1, cs2)
68      return vs  
69    def doFrame(scene, filename):
70        vs = w.createVobScene()
71        scene(vs)
72        w.renderStill(vs, 0)
73        saveanim.saveframe(filename, w)
74        java.lang.System.gc()
75        GL.freeQueue()
76    
77    
78  def createPurePapers():  def createPurePapers():
79      seed = 100      seed = 100
80      for opts in [      for opts in lightnesses:
         { "numcolors" : 8, "minlum" : 80 },  
         { "numcolors" : 8, "minlum" : 94 },  
         { "numcolors" : 1, "minlum" : 80 },  
         ]:  
81          for i in range(0,30):          for i in range(0,30):
82              vs = w.createVobScene()              doFrame(lambda vs: paperscene(vs, seed, opts),
83              paperscene(vs, seed, opts)                          "tmp/tmp%s.png" % seed)
             w.renderStill(vs, 0)  
             saveanim.saveframe("/tmp/tmp%s.png" % seed, w)  
             java.lang.System.gc()  
             GL.freeQueue()  
   
84              seed += 1              seed += 1
85    
86    def textPaperScene(vs, layout, scale):
87        layout.
88        
89    
90    def createTextPapers():
91        for subj in range(0,2):
92            zooms = zoomLevels + zoomLevels + zoomLevels
93            random.shuffle(zooms)
94            
95            global textureSeeds
96            random.shuffle(textureSeeds)
97            gzz.view.PageSpanCellView.pageSpanPaperMaker = PSPMaker()
98    
99            for page in pages:
100                for opts in lightnesses:
101                    gzz.gfx.gl.PageSpanPaper.paperMill = OptMill(
102                                                ThePaperMill(), opts)
103                    layout = PageSpanCellView().getLayout(page)
104                    zoom = zooms.pop()
105    
106    
107        
108  class Main(Runnable):  class Main(Runnable):
109    
110      def run(self):      def run(self):
111            GLSpanner.dangerouslyOverrideMemoryPartitioner()
112          global ThePaperMill, w          global ThePaperMill, w
113          from gfx.libpaper.papermill import ThePaperMill          from gfx.libpaper.papermill import ThePaperMill
114                    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26