<div dir="ltr">Hi Luta,<div><br></div><div>For the vtkNDITracker, the ports start at index "0" and the first three ports (0, 1, 2) are reserved for active tools.  So you need to load the sroms into ports (3, 4, 5).</div><div><br></div><div>Here are some other comments:</div><div><br></div><div>1) In your code, your class is a subclass of vtkNDITracker, but it also has a vtkNDITracker that is a member.  This is wrong, because it creates two instances of vtkNDITracker ("this" and "nditracker" are both instances of vtkNDITracker).  I suggest you do not subclass vtkNDITracker.</div><div><br></div><div>2) Instead of calling Command("INIT:"), call newtracker->StartTracking().  The StartTracking() method will do the initialization.</div><div><br></div><div> - David</div><div><br></div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 16, 2015 at 12:58 AM, luta <span dir="ltr"><<a href="mailto:sharmaatul11@gmail.com" target="_blank">sharmaatul11@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi David,<br>
Hope you must be doing great.<br>
I am working on an augmented reality project for medical application which<br>
involves surgical instruments tracking in 3D.<br>
For that we recently bought NDI polaris spectra and trying to use this with<br>
VTK.<br>
I downloaded your code for using NDI polaris from<br>
<a href="https://github.com/dgobbi/AIGS" rel="noreferrer" target="_blank">https://github.com/dgobbi/AIGS</a>.<br>
I compiled it in visual studio 2010.<br>
Then I made a simple VTK project with CMake and included the headers and<br>
libraries from the compiled AIGS to the VTK project. The program is able to<br>
show me the version of NDI, however, I am not able to initialize and start<br>
tracking. I am sending you the code and the error what I get. Your help will<br>
be highly appreciated.<br>
<br>
#include <vtkConeSource.h><br>
#include <vtkPolyData.h><br>
#include <vtkSmartPointer.h><br>
#include <vtkPolyDataMapper.h><br>
#include <vtkActor.h><br>
#include <vtkRenderWindow.h><br>
#include <vtkRenderer.h><br>
#include <vtkRenderWindowInteractor.h><br>
#include "vtkNDITracker.h"<br>
#include <string><br>
#include "ndicapi.h"<br>
using namespace std;<br>
<br>
<br>
class Starttracker_aks:public  vtkNDITracker {<br>
<br>
vtkNDITracker* newtracker;<br>
int x;<br>
int tool;<br>
const char *filename;<br>
<br>
int tool1;<br>
const char *filename1;<br>
<br>
int tool2;<br>
const char *filename2;<br>
<br>
int beepn;<br>
<br>
public:<br>
        void asignvalues(){<br>
        newtracker<br>
=  vtkNDITracker::New();<br>
tool=1;tool1=2;tool2=3;<br>
filename=<br>
"C:\\ATUL_WORKS\\SOFTWARES\\vtkptog\\Cone\\Cone_Aks\\ToolKit\\8700338.rom";<br>
filename1=<br>
"C:\\ATUL_WORKS\\SOFTWARES\\vtkptog\\Cone\\Cone_Aks\\ToolKit\\8700339.rom";<br>
filename2=<br>
"C:\\ATUL_WORKS\\SOFTWARES\\vtkptog\\Cone\\Cone_Aks\\ToolKit\\8700449.rom";<br>
string versionname;<br>
int serialname;<br>
newtracker->SetSerialDevice("COM5:");<br>
newtracker->LoadVirtualSROM(tool,filename);<br>
newtracker->LoadVirtualSROM(tool1,filename1);<br>
newtracker->LoadVirtualSROM(tool2,filename2);<br>
newtracker->Probe();<br>
Command("INIT:");<br>
versionname=newtracker->GetVersion();<br>
<br>
cout << newtracker->GetVersion();<br>
<br>
 int t1= GetToolFromHandle(tool);<br>
 int t2= GetToolFromHandle(tool1);<br>
 int t3= GetToolFromHandle(tool2);<br>
 cout << "\n Tools active:\t" << t1 << "\t" << t2 << "\t" << t3 <<"\n";<br>
<br>
}<br>
};<br>
int main(int, char *[])<br>
{<br>
        Starttracker_aks statr;<br>
        statr.asignvalues();<br>
        return EXIT_SUCCESS;<br>
}<br>
<br>
<<a href="http://vtk.1045678.n5.nabble.com/file/n5732927/Console.jpg" rel="noreferrer" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5732927/Console.jpg</a>><br>
<<a href="http://vtk.1045678.n5.nabble.com/file/n5732927/Error.jpg" rel="noreferrer" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5732927/Error.jpg</a>><br></blockquote></div></div></div></div>