13 #ifndef MITKPolhemusTRACKINGDEVICE_H_HEADER_INCLUDED_ 14 #define MITKPolhemusTRACKINGDEVICE_H_HEADER_INCLUDED_ 18 #include <mitkIGTConfig.h> 21 #include <itkMultiThreader.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 static ITK_THREAD_RETURN_TYPE ThreadStartTracking(
void* data);
An object of this class represents the interface to Polhemus trackers. All variables with the name "t...
An object of this class represents Polhemus tracking device. You can add tools to this device...
DataCollection - Class to facilitate loading/accessing structured data.
PolhemusInterface::Pointer m_Device
represents the interface to the tracking hardware
std::vector< PolhemusTool::Pointer > m_AllTools
vector holding all tools
itk::MultiThreader::Pointer m_MultiThreader
#define mitkClassMacro(className, SuperClassName)
Interface for all Tracking Devices.
bool m_HemisphereTrackingEnabled