<div>Thank you Bryan!</div><div><br></div>This code works on Ubuntu 9.04 with python2.6, VTK 5.0.4-1.1ubuntu1 and python-vtk 5.0.4-1.1ubuntu1! <div>I should have looked at the source for this method first as it is *much* more informative than the published documentation.</div>

<div>The reason I am attempting this using the &#39;older&#39; wrappers etc. is that I want to use the standard packages available through Synaptic, so that users of my script (predominantly still running Ubuntu9.04 Jaunty) can run it with minimal effort installing/compiling additional packages.<br>

<div><div><br><div>Regarding CreateTimer; my understanding is that the default TimerDuration used by CreateTimer(int) is set to 10ms in the constructor of vtkRenderWindowInteractor. <br><div>However, I am unable to change the timer duration from this default setting since the TimerDuration attribute is not exposed in the class, and no get/set methods are provided.</div>

<div>I guess a hack would be to skip some callbacks to get a slower effective update rate, but what about a faster rate?</div><div>Any ideas on how the TimerDuration attribute could be modified? Surely it must be accessible somewhere.</div>

<div><br></div><div>Thanks again.</div><div><br></div><div>Fred</div><div><br><br><div class="gmail_quote">2010/1/8 Bryan P. Conrad <span dir="ltr">&lt;<a href="mailto:conrabp@ortho.ufl.edu">conrabp@ortho.ufl.edu</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">











<div lang="EN-US" link="blue" vlink="purple">

<div>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Fred,</span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Yes the code runs on my machine, I am
using WinXP, Python 2.5 - vtk 5.4.0 (from pythonxy).  I do not know much
about using timers since my first experience was yesterday, but I was able to
create a similar effect in python-vtk (5.0.4-1.1ubuntu) using the older CreateTimer,
DestroyTimer mechanism.  The timer is created the first time with the
argument 0 (VTKXI_TIMER_FIRST) and reset in the callback function using 1 (VTKI_TIMER_UPDATE). 
The duration of the timer is set by passing an argument when the vtkTimerCallback
class is initialized.  As I mentioned, I am new at this so I am not sure
this is the best implementation, but this version seems to work with both vtk
5.4 and 5.0.    </span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p>

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">import</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> vtk</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">class</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <b><span style="font-weight:bold">vtkTimerCallback</span></b>():</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">def</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <b><span style="font-weight:bold">__init__</span></b>(<i><span style="font-style:italic">self</span></i>,duration,actor):</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">       <i><span style="font-style:italic">self</span></i>.timer_count = </span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">       <i><span style="font-style:italic">self</span></i>.duration = duration</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">       <i><span style="font-style:italic">self</span></i>.actor = actor</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">def</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <b><span style="font-weight:bold">execute</span></b>(<i><span style="font-style:italic">self</span></i>,obj,event):</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">    iren = obj</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">    </span></font><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">if</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <i><span style="font-style:italic">self</span></i>.timer_count &lt; <i><span style="font-style:italic">self</span></i>.duration:</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">           </span></font><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">print</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <i><span style="font-style:italic">self</span></i>.timer_count</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">           <i><span style="font-style:italic">self</span></i>.actor.SetPosition(<i><span style="font-style:italic">self</span></i>.timer_count/</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">100.0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">, <i><span style="font-style:italic">self</span></i>.timer_count/</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">100.0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">,</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">);</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">          
iren.CreateTimer(</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">1</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">          
iren.GetRenderWindow().Render()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">           <i><span style="font-style:italic">self</span></i>.timer_count += </span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">1</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">    </span></font><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">else</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">:</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">        iren.DestroyTimer()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<div class="im">

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">def</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> <b><span style="font-weight:bold">main</span></b>():</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#Create a sphere</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   sphereSource = vtk.vtkSphereSource()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   sphereSource.SetCenter(</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0.0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">, </span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0.0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">, </span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0.0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   sphereSource.SetRadius(</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">5</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#Create a <u>mapper</u> and actor</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   mapper = vtk.vtkPolyDataMapper()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">  
mapper.SetInputConnection(sphereSource.GetOutputPort())</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   actor = vtk.vtkActor()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   actor.SetMapper(mapper)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



</div><p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   prop = actor.GetProperty()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<div class="im">

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver"># Setup a renderer, render window, and <u>interactor</u></span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderer = vtk.vtkRenderer()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindow = vtk.vtkRenderWindow()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#renderWindow.SetWindowName(&quot;Test&quot;)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindow.AddRenderer(renderer);</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor =
vtk.vtkRenderWindowInteractor()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor.SetRenderWindow(renderWindow)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#Add the actor to the scene</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderer.AddActor(actor)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderer.SetBackground(</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">1</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">,</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">1</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">,</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">1</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">) </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver"># Background color white</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#Render and interact</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindow.Render()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



</div><p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver"># Initialize must be called prior to creating timer events.</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor.Initialize()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver"># Sign up <u>callback</u> to receive TimerEvent</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver"># The argument sets the timer duration and the actor to be
animated</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   cb = vtkTimerCallback(duration=</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">250</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">, actor=actor) </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor.AddObserver(</span></font><i><font size="2" color="#00aa00" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#00AA00;font-style:italic">&#39;TimerEvent&#39;</span></font></i><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">, cb.execute)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor.CreateTimer(</span></font><font size="2" color="maroon" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:maroon">0</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">)</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   </span></font><font size="2" color="silver" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:silver">#start the interaction and timer</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>

<div class="im">

<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">   renderWindowInteractor.Start()</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal" style="text-autospace:none"><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:blue">if</span></font><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> __name__ == </span></font><i><font size="2" color="#00aa00" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:#00AA00;font-style:italic">&#39;__main__&#39;</span></font></i><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">:</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"></span></font></p>



<p class="MsoNormal"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">  
main()</span></font><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"></span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">   </span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p>

</div><div>

<div>

<div>

<p class="MsoNormal"><i><font size="4" color="#0000a0" face="Monotype Corsiva"><span style="font-size:14.0pt;font-family:&quot;Monotype Corsiva&quot;;color:#0000A0;font-style:italic">-bryan</span></font></i></p>

</div>

</div>

</div>

<div>

<div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">

<hr size="2" width="100%" align="center">

</span></font></div>

<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma">
<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a> [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Fred Pauling<br>


<b><span style="font-weight:bold">Sent:</span></b> Thursday, January 07, 2010
2:10 AM<br>
<b><span style="font-weight:bold">To:</span></b> <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [vtkusers] Basic
Animation Code</span></font></p>

</div><div><div></div><div class="h5">

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Hi Bryan,</span></font></p>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Have you been able to run your Python example?</span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">I ask this because the latest stable release of python-vtk
(5.0.4-1.1ubuntu) does not include a binding for the CreateRepeatingTimer
method of the vtkRenderWindowInteractor class.</span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">If you can run it, how did you manage to find/create the bindings for
this method?</span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">If you can&#39;t, can you suggest how one could work around this lack of
functionality to set a repeating timer in Python?</span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Cheers, </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Fred.</span></font></p>

</div>

</div></div></div>

</div>


</blockquote></div><br></div></div></div></div></div>