Hi,

I would like to be able to zoom during an animation using perspective
projection. I am doing everything via a Python script. For parallel
projection, the transformation is simple and one zooms just by changing a
constant factor, i.e., setting the CameraParallelScale variable, and the
camera doesn't 'move'.

In parallel projection, however, one needs to change the actual camera
position and the transformation is not that simple. Looking at the Python
trace after zooming with the middle button, ParaView just reports the new
camera position, but not how it was calculated.

Looking at vtk documentation, there is a class called vtkCamera, which can
be zoomed simply, just using vtkCamera.Zoom(float), which supposedly zooms
properly both in parallel and perspective projections, at least according to
the documentation. What I can't figure out is how to call a renderer using
the vtk module and create the vtkCamera for that renderer, i.e., there would
be a RenderView object V of some sort, and we would just set

V.vtkCamera.Zoom(float)

However, there is no vtkRenderView or vtkView within the vtk Python classes
provided by the module that comes with ParaView. Would someone be able to
tell me what GetRenderView() in paraview acually calls? Or if I am headed in
the wrong direction, how should this be done properly? I hope I don't have
to code up all the transformations by hand to obtain the new camera position
for parallel projection...Thanks,

Milos


-- 
Miloš Ilak
Linné Flow Centre
KTH Mechanics, Stockholm
+46(0) 8 790-7152
www2.mech.kth.se/~ilak <http://www2.mech.kth.se/%7Eilak/>
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to