[IGSTK-Users] Polaris tracker example and FLTK compilation problem under .NET 2003
David Gobbi
dgobbi at atamai.com
Sun May 14 19:47:56 EDT 2006
Hi Elvis,
Thank you for taking IGSTK for a test run. Here are answers to
some of your questions:
1(a) Port numbers 0,1,2 are reserved for active tools on the Polaris.
2(b) I saw a "zero transform" problem on a pre-release NDI firmware
once that could be fixed by changing the TX mode from 0001 to 0801.
To do this in igstkPolarisTracker, find the line that says
m_CommandInterpreter->TX(CommandInterpreterType::NDI_XFORMS_AND_STATUS);
and replace it with
m_CommandInterpreter->TX(CommandInterpreterType::NDI_XFORMS_AND_STATUS |
CommandInterpreterType::NDI_INCLUDE_OUT_OF_VOLUME);
If that fixes the problem, let me know and I can do additional testing.
TrackerTool objects are used only by the Tracker and the SpatialObject classes,
they cannot be accessed directly by the application and the only purpose of this
class is to store information about the tool for the tracker, and to pass this information
to the spatial objects. A tracker's TrackerTools are not directly accessible from
the application.
Right now you can get transforms directly from the tracker with this method:
GetToolTransform( unsigned int portNumber, unsigned int toolNumber, TransformType &position );
This method is going to be replaced with a new method that returns the
transform in an event, rather than returning it directly.
2) Make sure that you are using CMake to build FLTK, and also make sure
that you are using FLTK 1.1.6, it is the only version that IGSTK is tested
against. Visual Studio .NET 2003 used by many of the IGSTK developers,
so the compiler itself should not be a problem.
- David
----- Original Message ----
From: Elvis Chen <chene77 at hotmail.com>
To: igstk-users at public.kitware.com
Sent: Sunday, May 14, 2006 5:02:34 PM
Subject: [IGSTK-Users] Polaris tracker example and FLTK compilation problem under .NET 2003
greetings,
I am encountering 2 problems with IGSTK currently, I seek your help:
1) I've got IGSTK release-7 compiled under linux with VTK-5.1/ITK-CVS
(2006-04-25). Using the example code igstkPolarisTrackerTest.cxx, I wrote a
small polaris code to see if I can initialize the Polaris tracker and get a
pose information of a passive target. The test code I have is basically the
same as igstkPolarisTrackerTest.cxx, but without the logger and other things
I don't really need.
I used the following line to associate a passive ROM file to the polaris:
tracker->AttachSROMFileNameToPort( port, "TA104.rom" );
things I discovered are:
a) the port number has to be greater than 2. If I use port number 0,1, or
2, the tracker won't see the target.
b) using port number greater then 2, the tracker can see the target, but all
the transformation I get back (position/rotation) are zero.
I've searched the documentation on the igstk.org and looked through the
example codes. What I'm not clear about is exactly what does a trackerTool
class does? In the igstkPolarisTrackerTest.cpp, a "tool" of type
PolarisTrackerTool is created but it isn't been used with anything. Can
anyone clearify if I need a trackerTool to obtain the transformation of the
target?
2) I've spent countless hours in trying to compile IGSTK under Windows XP
with .NET 2003. VTK/ITK (the same source as my linux) compiled fine, but
FLTK refused to. It actually compiled all the source files into object
files but refused to work under the linking stage. According to fltk.org
this is due to a bad .sln (solution file for .net) on their part, and no fix
was given. I've tried several fltk versions from fltk.org but all end up
with the same problem.
I used cmake to configure the fltk source code and then load the solution
file in .net 2003/VC7 to compile.
Has anyone got fltk/IGSTK to compile with .NET 2003/VC7?
any help is very much appreciated,
_______________________________________________
IGSTK-Users mailing list
IGSTK-Users at public.kitware.com
http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users
More information about the IGSTK-Users
mailing list