[vtkusers] reset camera not working with QVTKWidget

Prathamesh Kulkarni prathameshmkulkarni at gmail.com
Mon Jul 12 11:06:43 EDT 2010


I was not using the vtkInteractorStyleImage explicitly.

Setting the widget interactor style to vtkImteractorStyleImage works for me.



Thanks,
Prathamesh

On Mon, Jul 12, 2010 at 8:50 AM, Eric E. Monson <emonson at cs.duke.edu> wrote:

> Hey Prathamesh,
>
> Make sure you are using vtkInteractorStyleImage, which will only allow 2D
> rotations if you also press the ctrl button with mouse movements. If you
> want to totally disable rotations you will probably have to make a new
> interactor style.
>
> http://www.vtk.org/doc/nightly/html/classvtkInteractorStyleImage.html
>
> You can get the "active camera" from the renderer being used in the render
> window
>
> widget->GetRenderWindow()->GetRenderer()->GetActiveCamera();
>
> and set it to use "parallel projection" for images
>
> camera->ParallelProjectionOn();
>
> Then, in your callback for the mouse click you can reset the camera "view
> up" vector along with the camera reset (which has an option to take the
> bounds of the objects you want to fit in the window) to undo any rotations
> that have been made:
>
> renderer->ResetCamera(imageActor->GetBounds());
> renderer->GetActiveCamera()->SetViewUp(0,1,0);
>
> http://www.vtk.org/doc/nightly/html/classvtkCamera.html
>
> This is at least what has worked for me,
> -Eric
>
> ------------------------------------------------------
> Eric E Monson
> Duke Visualization Technology Group
>
>
> On Jul 12, 2010, at 5:53 AM, Jothy wrote:
>
> First Render or MyQVTKWidget->Show() and then reset the camera.
>
> Jothy
>
> On Mon, Jul 12, 2010 at 1:42 AM, Prathamesh Kulkarni <
> prathameshmkulkarni at gmail.com> wrote:
>
>>
>> Hello all,
>>
>>
>> I am trying to use the QVTKWidget to display an image and reset its view
>> at the click of a button. I tried many ways but it only resets the
>> translation and does not affect rotation. Following is what I am using:
>>
>>
>> MyQVTKWidget->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->ResetCamera();
>> MyQVTKWidget->repaint();
>>
>> OR
>>
>> MyRendererConnectedToMyQVTKWidget()->ResetCamera();
>>
>>
>> Am I missing something here? Also, even when I  do
>> MyvtkImageActorConnectedToMyRenderer()->setPickable(1);  I am still able to
>> rotate the Image.
>>
>> I want to be able to turn off rotation of the vtkImageActor in some way
>> and let it only scale and drag using the default mouse actions.
>>
>> Any help will be highly appreciated.
>>
>>
>> Thanks,
>> Prathamesh
>>
>> _______________________________________________
>> 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 VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100712/566c7d49/attachment.htm>


More information about the vtkusers mailing list