13 #ifndef mitkPolhemusTrackingDevice_h
14 #define mitkPolhemusTrackingDevice_h
18 #include <mitkIGTConfig.h>
38 itkFactorylessNewMacro(Self);
46 virtual bool StartTracking()
override;
52 virtual bool StopTracking()
override;
58 virtual bool OpenConnection()
override;
63 virtual bool CloseConnection()
override;
68 virtual unsigned int GetToolCount()
const override;
75 TrackingTool* GetTool(
unsigned int toolNumber)
const override;
93 bool IsDeviceInstalled();
96 virtual bool AutoDetectToolsAvailable();
102 virtual mitk::NavigationToolStorage::Pointer AutoDetectTools();
105 void SetHemisphereTrackingEnabled(
bool _HemisphereTrackingEnabled);
108 bool GetHemisphereTrackingEnabled(
int _tool);
111 void ToggleHemisphere(
int _tool = -1);
121 void AdjustHemisphere(
int _tool);
133 bool InternalAddTool(PolhemusTool::Pointer tool);
145 std::vector<PolhemusTool::Pointer> GetAllTools();
152 void ThreadStartTracking();