[Paraview] Using VR-Style input devices

Johannes Zarl johannes.zarl at jku.at
Tue Oct 30 12:32:13 EDT 2012


Hello again,

Today I tried out the new VR improvements in the master branch. I can tell 
it's a big improvement over the state-file-hacking. Connecting some tracker 
input to an object is so much easier (and less error-prone) now!

However, some issues remain for me:

1) GUI-Improvements:
 - It would be nice if one could specify the TrackerTransform via the GUI
 - The ability to load tracker-configurations from a file would be handy
 - When connecting tracker-input to objects, it would be nice if only 
compatible properties were displayed.
 - It would be nice if the grab tool would work globally, more like the mouse, 
and not have to be connected to a specific object.

2) Display issues:
 - In a curved screen setup powered by 3 overlapping projectors, the 
perspective seems to be incorrect:
This can be most easily observed when you move your head past the coordinate 
system origin. What I would expect to see is that the z-axis (pointing out of 
the screen) points somewhat to the right when my x-position is negative, and 
to the left when my x-position is positive. What I actually see is that the 
perspective of the axis-cross does not change.
What could I have messed up in the configuration that would cause this?

 - When moving a Slice-plane using the tracker (SliceOrigin,SliceOrientation), 
the displayed slice plane is not updated. I can see that the plane was moved 
on the client window, but the actual slice is not affected. I have to move the 
plane a little with the mouse to trigger an update of the slice.

 - Grabbing an object only affects the object in the client window, not the 
server view. 
When the Grab tool is connected to an object, I can move that object around, 
but I only see this in the client window. On the server side, things are 
totally unaffected by the changes. (I didn't test this one again with the new 
git master, so excuse me if it has been fixed since 3.14.1)

3) Loose ends
I didn't find anything I can do with an analog input. Do I have to enable some 
special build option to enable those?

Cheers,
  Johannes


Am 24.10.2012, 17:01:37 schrieb Aashish Chaudhary:
> Hi Johannes,
> 
> Very recently, we have improved the VR API and related tools and now
> the VR plugin comes with a GUI to configure connection managers and
> interactor styles.
> 
> The way it works now is that you create a connection manager (lines
> 475 - 483), which will be generated by the GUI if used, and then for
> the styles,
> you would link it with the ID of the proxy and its specific property
> that you want to control. Now said that the GUI shows you the name of
> the proxy and not the ID
> for obvious reasons. Then depending upon the type of the proxy and
> property you specify a particular input from a HCI device. Currently
> we support analog, button, and tracker.
> 
> The wiki here is bit old:
> http://www.paraview.org/Wiki/ParaView/Users_Guide/CAVE_Display
> We wrote a source article as well:
> http://www.kitware.com/source/home/post/66
> 
> This recent work is not in master yet (hopefully this Friday) but you
> can checkout this branch: vtk_vr_improvements_new_gui
> if you want to from paraview stage repository. The branch contains
> bunch of bug fixes, and API improvements.
> 
> 475   <VRConnectionManager>
> 476     <VRUIConnection name="vrui" address="localhost" port = "8555">
> 477       <Button id="0" name="1"/>
> 478       <Button id="1" name="2"/>
> 479       <Button id="2" name="3"/>
> 480       <Tracker id="0" name="head"/>
> 481       <Tracker id="1" name="wand"/>
> 482     </VRUIConnection>
> 483   </VRConnectionManager>
> 484   <VRInteractorStyles>
> 485     <Style class="vtkVRTrackStyle" proxy="267"
> property="EyeTransformMatrix">
> 486       <Tracker name="vrui.head"/>
> 487     </Style>
> 488     <Style class="vtkVRGrabWorldStyle" proxy="267"
> property="ModelTransformMatrix">
> 489       <Tracker name="vrui.wand"/>
> 490       <Button name="vrui.1"/>
> 491     </Style>
> 492    </VRInteractorStyles>
> 
> On Wed, Oct 24, 2012 at 9:40 AM, Johannes Zarl <johannes.zarl at jku.at> wrote:
> > Hi,
> > 
> > I'm currently trying to configure ParaView for a CAVE-like environment.
> > So far I was able to set up the pvservers correctly and even make
> > headtracking over VRPN work.
> > 
> > Myself, I'm more of a newbie concerning ParaView, so I'm having some
> > trouble understanding the state-file and how to define a wand-device so
> > that ParaView can use it.
> > 
> > As far as I understand it, the VRPlugin reads the VRConnectionManager and
> > VRInteractorStyles tags from the state-file and makes the connection to
> > the server.
> > 
> > The Styles in VRInteractorStyles are supposed to reference a proxy name,
> > that they are then attached to. So in this example:
> > 
> > <VRInteractorStyles>
> > 
> >    ...snip...
> >   
> >   <Style class="vtkVRStyleGrabNTranslateSliceOrigin"
> > 
> > origin="CutFunction.Origin">
> > 
> >    <Button name="travel.2"/>
> >    <Tracker name="travel.wand"/>
> >   
> >   </Style>
> >   <Style class="vtkVRStyleGrabNRotateSliceNormal"
> >   normal="CutFunction.Normal">
> >   
> >     <Button name="travel.3"/>
> >     <Tracker name="travel.wand"/>
> >   
> >   </Style>
> > 
> > </VRInteractorStyles>
> > 
> > The state-file should have a node <ProxyCollection name="CutFunction">
> > defined somewhere?
> > 
> > How do I define such a CutFunction? What other Proxies are there that can
> > be defined/connected to a tracker/button/analog device?
> > 
> > Cheers,
> > 
> >   Johannes
> > 
> > _______________________________________________
> > 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



More information about the ParaView mailing list