17 #ifndef MITKOPENIGTLINKTRACKINGDEVICE_H_HEADER_INCLUDED_
18 #define MITKOPENIGTLINKTRACKINGDEVICE_H_HEADER_INCLUDED_
20 #include <mitkIGTConfig.h>
26 #include <itkMultiThreader.h>
27 #include <igtlQuaternionTrackingDataMessage.h>
28 #include <igtlTrackingDataMessage.h>
29 #include <igtlTransformMessage.h>
44 itkFactorylessNewMacro(Self)
48 void SetPortNumber(
int portNumber);
51 void SetHostname(std::string hostname);
55 std::string GetHostname();
62 virtual bool StartTracking();
68 virtual bool StopTracking();
74 virtual bool OpenConnection();
79 virtual bool CloseConnection();
84 virtual unsigned int GetToolCount()
const;
100 bool DiscoverTools(
int WaitingTime = 10000);
112 bool IsDeviceInstalled();
114 itkSetMacro(UpdateRate,
int);
115 itkGetConstMacro(UpdateRate,
int);
136 std::vector<OpenIGTLinkTrackingTool::Pointer> GetAllTools();
150 enum TrackingMessageType
152 TDATA, TRANSFORM, QTDATA, UNKNOWN
155 mitk::OpenIGTLinkTrackingDevice::TrackingMessageType GetMessageTypeFromString(
const char* messageTypeString);
161 bool DiscoverToolsFromTransform();
163 void AddNewToolForName(std::string name,
int i);
itk::SmartPointer< Self > Pointer
An object of this class represents the MicronTracker device. You can add tools to this device...
DataCollection - Class to facilitate loading/accessing structured data.
std::vector< OpenIGTLinkTrackingTool::Pointer > m_AllTools
vector holding all tools
int m_UpdateRate
holds the update rate in FPS (will be set automatically when the OpenIGTLink connection is establishe...
unsigned long m_MessageReceivedObserverTag
#define mitkClassMacro(className, SuperClassName)
Interface for all Tracking Devices.
mitk::IGTLMessageToNavigationDataFilter::Pointer m_IGTLMsgToNavDataFilter
mitk::IGTLTransformDeviceSource::Pointer m_IGTLDeviceSource
mitk::IGTLClient::Pointer m_OpenIGTLinkClient