[Paraview] Controlling Render Views without Mouse
Felipe Bordeu
felipe.bordeu at ec-nantes.fr
Tue May 29 05:30:06 EDT 2012
Hi,
I tried to control my paraview from my Xoom tablet, throw plugin
successfully. I used a plugin that opens a port and listen to python
commands, then from my tablet I send python command to rotate zoom, pan
clip... (so now a have a realy big pad ;) ).
for more information read:
http://www.paraview.org/pipermail/paraview/2012-January/023704.html
Felipe
On 29/05/2012 07:23, David Zemon wrote:
> Hello,
>
> *Overview*
> I am attempting to control ParaView v3.14.1 with something other than
> a mouse and keyboard. I don't know how to do this - I've taken some
> wild guesses and bits 'n' pieces have started to work. I could really
> use some help from someone that knows the inner-workings though.
>
> *What I'd Like to Happen*
> I have an class, foo, with some events and callbacks of its own. Foo
> is not related to ParaView in any way other than foo needs to make
> ParaView do stuff as it sees fit. In the callbacks, I'd like to do
> things like zoom, pan and rotate. Eventually I'd like foo to be able
> add filters and such too, but that's a long way down the road.
>
> *What I've Tried*
> foo has 3 events similar to OnButtonDown, OnMouseMove, and OnButtonUp.
> I figure, why not just call these methods (within
> vtkPVInteractorStyle) from foo? This is what I've been trying.
> I have made foo a friend of vtkPVInteractorStyle. I've created a
> global pointer variable, g_pInteractorStyle, which points to
> vtkPVInteractorStyle.
> I've created a mutator and two integer variables - m_x and m_y -
> within foo to hold mouse coordinates. Any time that
> GetEventPosition()[0/1] is called, I save those values to local
> variables - x and y - and pass them into foo's mutator. This way, any
> time a real mouse is used, foo gets updated coordinates. This also now
> gives me starting points to pass into OnMouseMove.
> From foo I first call g_pInteractorStyle->OnButtonDown(3, 0, 0).
> Ideally, this will initiate zoom, which it seems to.
> Following that, I make a series of calls following the pattern:
> g_pInteractorStyle->Current->OnMouseMove(m_x, m_y + /offset/,
> g_pInteractorStyle->CurrentRenderer, g_pInteractorStyle->Interactor),
> where /offset/ is some integer value from -49 to 49 and neither m_x or
> m_y change during the series of calls.
> Finally, I call g_pInteractorStyle->OnButtonup(3).
>
> I have also commented out one line each from OnButonDown and
> OnButtonUp:
> this->InvokeEvent(vtkCommand::[Start/End]InteractionEvent). With these
> two lines in place, OnButtonUp causes a crash. Without these lines in
> place (when they're commented out), ParaView acts just fine. I know
> this is NOT a good fix and I'm open to other suggestions, but it (this
> aspect) seems to be working at the moment.
>
> I've also tried looking into the QT libraries and moving the cursor
> via QT. Unfortunately, I've been unable to find the right cursor
> because nothing I've done has had any effect on the cursor I'm staring
> at (tried setPos() and setShape()).
>
> *The Problem*
> OnMouseMove() has caused problem after problem. In our current setup
> OnButtonDown(3, 0, 0) works great. OnMouseMove() kills paraview when
> it reaches vtkPVRenderView::Render() called from somewhere within
> vtkPVGenericRenderWindowInteractor. In a weak attempt to "fix" the
> problem, I tried commenting out this Render() call. Nothing too major
> seemed to break except that I'm blind as i try to zoom until I release
> the mouse button (tests were done using the mouse at first). In other
> words: Everything still working, but no rendering during zoom - only
> renders upon releasing the mouse. I now try it with foo, and it acts
> as though OnButtonUp(3) was never called - the whole foo routine
> finishes then I use the mouse and click somewhere to start a new
> interaction, and it zooms to wherever it should have zoomed when it
> finished foo's routines.
>
> So two options: I can either let it die every time it tries to render,
> or hold off rendering until I finish "moving the mouse" and then still
> be required to click the mouse somewhere when I'm finished.
>
> This is broken. And something tells me I'm going about this in a very
> wrong fashion. How should I be doing this?
>
> Thanks,
> David Zemon
> Computer
>
>
> _______________________________________________
> 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
--
Felipe Bordeu Weldt
Ingénieur de Recherche
-------------------------------------
Tél. : 33 (0)2 40 37 16 57
Fax. : 33 (0)2 40 74 74 06
Felipe.Bordeu at ec-nantes.fr
Institut GeM - UMR CNRS 6183
École Centrale Nantes
1 Rue de La Noë, 44321 Nantes, FRANCE
-------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20120529/6b2f296c/attachment-0001.htm>
More information about the ParaView
mailing list