13 #ifndef mitkPolhemusInterface_h
14 #define mitkPolhemusInterface_h
19 #include <MitkIGTExports.h>
22 #include <itkObject.h>
23 #include <itkObjectFactory.h>
47 itkFactorylessNewMacro(Self);
75 unsigned int GetNumberOfTools();
78 void SetHemisphereTrackingEnabled(
bool _HemisphereTrackingEnabled,
int _tool = -1);
83 void ToggleHemisphere(
int _tool = -1);
100 std::vector<int> GetToolPorts();
104 bool GetHemisphereTrackingEnabled(
int _tool);
108 void AdjustHemisphere(
int _tool);
111 std::vector<trackingData> GetSingleFrame();
114 std::vector<trackingData> AutoDetectTools();
117 std::vector<trackingData> GetLastFrame();
133 std::vector<mitk::PolhemusInterface::trackingData> ParsePolhemusRawData(PBYTE pBuf, DWORD dwSize);
135 bool InitializeDevice();
140 int GetToolIndex(
int _tool);
145 std::vector<trackingData> GetFrame();
149 std::vector<int> GetToolIterator(
int _tool);
152 bool OpenConnection();
157 std::vector<mitk::Vector3D> m_Hemispheres;
160 std::vector<bool> m_HemisphereTracking;
164 std::vector<int> m_ToolPorts;
166 unsigned int m_numberOfTools;
168 bool m_continousTracking;