[Yt-svn] yt: Unset the glutIdleFunc (thanks, John!) and manually call dra...

hg at spacepope.org hg at spacepope.org
Fri May 21 11:41:20 PDT 2010


hg Repository: yt
details:   yt/rev/739181d1a069
changeset: 1700:739181d1a069
user:      Matthew Turk <matthewturk at gmail.com>
date:
Fri May 21 11:41:14 2010 -0700
description:
Unset the glutIdleFunc (thanks, John!) and manually call draw() as necessary.
Should ease CPU requirements.

diffstat:

 yt/extensions/opengl_image_viewer.py |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (46 lines):

diff -r 5ef4031545d9 -r 739181d1a069 yt/extensions/opengl_image_viewer.py
--- a/yt/extensions/opengl_image_viewer.py	Fri May 21 11:06:03 2010 -0700
+++ b/yt/extensions/opengl_image_viewer.py	Fri May 21 11:41:14 2010 -0700
@@ -48,7 +48,7 @@
         GLUT.glutInitWindowPosition(0, 0)
         self.window = GLUT.glutCreateWindow(self._title)
         GLUT.glutDisplayFunc(self.draw)
-        GLUT.glutIdleFunc(self.draw)
+        #GLUT.glutIdleFunc(self.draw)
         GLUT.glutKeyboardFunc(self.keypress_handler)
 
     def run(self):
@@ -116,6 +116,7 @@
                 time.sleep(0.05)
                 self.draw()
                 self._current -= 1
+        self.draw() # Once more for good measure
 
 class StereoMultiImageDisplayScene(MultiImageDisplayScene):
     _display_mode = (GLUT.GLUT_RGBA | GLUT.GLUT_DOUBLE | GLUT.GLUT_DEPTH |
@@ -353,6 +354,7 @@
             self.ry -= 1.0/rfac
         elif args[0] == 'E':
             self.ry += 1.0/rfac
+        self.draw()
 
 class GridSlice3DScene(GenericGLUTScene):
     _display_mode = (GLUT.GLUT_RGBA | GLUT.GLUT_DOUBLE | GLUT.GLUT_DEPTH)
@@ -513,7 +515,6 @@
             LE = g.LeftEdge - self.offset
             RE = g.RightEdge - self.offset
             off = (self.coord - LE[1]) / (RE[1] - LE[1])
-            print self.mi, self.ma
 
             GL.glActiveTexture(GL.GL_TEXTURE0)
             GL.glBindTexture(GL.GL_TEXTURE_3D, self._grid_textures[g.id][0])
@@ -584,6 +585,9 @@
             self.move_slice(0.05)
         elif args[0] == 'h':
             self.move_slice(-0.05)
+        else:
+            return
+        self.draw()
 
 if __name__ == "__main__":
     if sys.argv[-2] == '-g':



More information about the yt-svn mailing list