18 #ifndef MITKNDITRACKINGDEVICE_H_HEADER_INCLUDED_C1C2FCD2
19 #define MITKNDITRACKINGDEVICE_H_HEADER_INCLUDED_C1C2FCD2
23 #include <MitkIGTExports.h>
24 #include <itkMultiThreader.h>
25 #include "itkFastMutexLock.h"
61 itkFactorylessNewMacro(Self)
82 virtual
bool OpenConnection() override;
89 virtual
bool CloseConnection() override;
92 bool InitializeWiredTools();
117 bool DiscoverWiredTools();
127 virtual
bool StartTracking() override;
132 virtual
TrackingTool* GetTool(
unsigned int toolNumber) const override;
138 virtual
unsigned int GetToolCount() const override;
166 virtual
void SetPortNumber(const PortNumber _arg);
167 itkGetConstMacro(PortNumber, PortNumber);
168 virtual
void SetDeviceName(
std::
string _arg);
169 itkGetStringMacro(DeviceName);
170 virtual
void SetBaudRate(const BaudRate _arg);
171 itkGetConstMacro(BaudRate, BaudRate);
172 virtual
void SetDataBits(const DataBits _arg);
173 itkGetConstMacro(DataBits, DataBits);
174 virtual
void SetParity(const Parity _arg);
175 itkGetConstMacro(Parity, Parity);
176 virtual
void SetStopBits(const StopBits _arg);
177 itkGetConstMacro(StopBits, StopBits);
178 virtual
void SetHardwareHandshake(const HardwareHandshake _arg);
179 itkGetConstMacro(HardwareHandshake, HardwareHandshake);
184 virtual
bool Beep(
unsigned char count);
200 virtual
int GetMajorFirmwareRevisionNumber();
206 virtual const
char* GetFirmwareRevisionNumber();
222 virtual
bool GetSupportedVolumes(
unsigned int* numberOfVolumes, NDITrackingVolumeContainerType* volumes, TrackingVolumeDimensionType* volumesDimensions);
238 virtual
void InvalidateAll();
257 void ClearSendBuffer();
258 void ClearReceiveBuffer();
259 const
std::
string CalcCRC(const
std::
string* input);
271 virtual
void TrackTools();
280 virtual
void TrackMarkerPositions();
289 virtual
void TrackToolsAndMarkers();
294 static ITK_THREAD_RETURN_TYPE ThreadStartTracking(
void* data);
298 virtual ~NDITrackingDevice();
301 PortNumber m_PortNumber;
306 HardwareHandshake m_HardwareHandshake;
307 IlluminationActivationRate m_IlluminationActivationRate;
309 DataTransferMode m_DataTransferMode;
310 Tool6DContainerType m_6DTools;
mitk::SerialCommunication::DataBits DataBits
Number of data bits used in the serial connection.
std::vector< std::string > NDITrackingVolumeContainerType
vector of tracking volumes
mitk::SerialCommunication::StopBits StopBits
Number of stop bits used in the serial connection.
OperationMode
Error codes of NDI tracking devices.
IlluminationActivationRate
activation rate of IR illuminator for NDI Polaris tracking device
DataCollection - Class to facilitate loading/accessing structured data.
mitk::SerialCommunication::BaudRate BaudRate
Baud rate of the serial connection.
std::vector< NDIPassiveTool::Pointer > Tool6DContainerType
List of 6D tools of the correct type for this tracking device.
mitk::SerialCommunication::HardwareHandshake HardwareHandshake
Hardware handshake mode of the serial connection.
std::vector< int > TrackingVolumeDimensionType
List of the supported tracking volume dimensions.
#define mitkClassMacro(className, SuperClassName)
Interface for all Tracking Devices.
mitk::SerialCommunication::Parity Parity
Parity mode used in the serial connection.
std::vector< MarkerPointType > MarkerPointContainerType
mitk::SerialCommunication::PortNumber PortNumber
Port number of the serial connection.
serial communication interface
std::string TrackingDeviceType
superclass for specific NDI tracking Devices that use serial communication.
mitk::NDIPassiveTool::TrackingPriority TrackingPriority
Tracking priority used for tracking a tool.
NDIErrorCode
Error codes of NDI tracking devices.
DataTransferMode
Data transfer mode for NDI tracking devices.
The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI...
mitk::TrackingDeviceType NDITrackingDeviceType
This enumeration includes the two types of NDI tracking devices (Polaris, Aurora).