[vtkusers] Support for 3D trackers and 3D mice

Marco Petrone m.petrone at cineca.it
Wed Dec 13 08:04:32 EST 2000


> Hi Marco,
>
> I've written classes to support three devices so far:
> - the Logitech 3D mouse (uses ultrasound for localization)
> - the Flock of Birds (magnetic)
> - the POLARIS (optical, high-precision)
>
> We use the Flock of Birds and POLARIS regularly, and the code
> for these devices is stable.  The Logitech driver hasn't had
> as much testing.  The classes for all three devices works under
> Windows and Linux, and have been minimally tested under IRIX as
> well.
>
> I can provide you with the base classes (there are three, vtkTracker,
> vtkTrackerTool and vtkTrackerBuffer) if you are interested in
> adding support for your own 3D device.  As for the device-specific
> classes (vtkPOLARISTracker, vtkFlockTracker, vtkLogitechTracker)
> we would have to negotiate.
>

Here we have just bought an Intersense IS900, which uses a mixture of
ultrasonic + inertial technology. For what I've understood up to now from the
documentation, its communication protocol is downward compatible with the
Polhemus FastTrack, thus a class for one of these two should be easily
adaptable for the other one. I don't know anything about the Polaris,
Ascension and Logitech trackers' protocols, but if they have nothing in
common with the Polhemus/Intersense one I think the only thing to do is to
start write it from scratch. If you want to send me your base classes this
would save me the time to define a my own hierarchy.

For what concerns the Logitech class, we thought about buying one here but
because of the price rising of the Intersense during this summer, when we
obtained the budget we applied for it was no more sufficient for both. If
next year will buy one Logitech I think we could try to maintain it too. If
you explain me what you mean for negotiation, even on a private channel, I
think I could try to arrange our resources/opportunities.

In general, if you have any software to be tested on IRIX platforms, here we
have a lot of SGI stuff.

> ---
> tracker = vtkTracker()
> tracker.StartTracking()
>
> transform = tracker.GetTool(0).GetTransform()
>
> actor.SetUserTransform(transform)  # connect transform to an actor
>
> tracker.Update()  # call this any time to update the transform
> ---
>
> There are also methods to inquire about the state of the
> 3D mouse buttons, to perform real-world-coordinate to
> virtual-world-coordinate calibrations, etc.
>

My own idea was to make use of a second device to control the camera
orientation and for this reason we also bought a spacemouse, a sort of very
expensive joystick with 3 degrees of freedom and many buttons that can be
connected to the serial port (to be compatible with SGI machines), thus I
could also add support for this device in your class structure and/or create
an interactor class.

Let me know about how we can arrange for you to provide us the Tracker base
classes.

Marco.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: m.petrone.vcf
Type: text/x-vcard
Size: 291 bytes
Desc: Card for Marco Petrone
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20001213/4451f2ad/attachment.vcf>


More information about the vtkusers mailing list