13 #ifndef MITKOPENIGTLINKTRACKINGDEVICE_H_HEADER_INCLUDED_ 14 #define MITKOPENIGTLINKTRACKINGDEVICE_H_HEADER_INCLUDED_ 16 #include <mitkIGTConfig.h> 22 #include <itkMultiThreader.h> 23 #include <igtlQuaternionTrackingDataMessage.h> 24 #include <igtlTrackingDataMessage.h> 25 #include <igtlTransformMessage.h> 40 itkFactorylessNewMacro(Self);
44 void SetPortNumber(
int portNumber);
47 void SetHostname(std::string hostname);
51 std::string GetHostname();
58 bool StartTracking()
override;
64 bool StopTracking()
override;
70 bool OpenConnection()
override;
75 bool CloseConnection()
override;
80 unsigned int GetToolCount()
const override;
87 TrackingTool* GetTool(
unsigned int toolNumber)
const override;
96 bool DiscoverTools(
int WaitingTime = 10000);
109 bool AutoDetectToolsAvailable()
override;
115 mitk::NavigationToolStorage::Pointer AutoDetectTools()
override;
117 bool IsDeviceInstalled()
override;
119 itkSetMacro(UpdateRate,
int);
120 itkGetConstMacro(UpdateRate,
int);
132 bool InternalAddTool(OpenIGTLinkTrackingTool::Pointer tool);
140 mitk::IGTLMessage::Pointer ReceiveMessage(
int waitingTime);
145 std::vector<OpenIGTLinkTrackingTool::Pointer> GetAllTools();
159 enum TrackingMessageType
161 TDATA, TRANSFORM, QTDATA, UNKNOWN
164 mitk::OpenIGTLinkTrackingDevice::TrackingMessageType GetMessageTypeFromString(
const char* messageTypeString);
168 mitk::NavigationToolStorage::Pointer DiscoverToolsAndConvertToNavigationTools(mitk::OpenIGTLinkTrackingDevice::TrackingMessageType type,
int NumberOfMessagesToWait = 50);
170 void AddNewToolForName(std::string name,
int i);
172 mitk::NavigationTool::Pointer ConstructDefaultOpenIGTLinkTool(std::string name, std::string identifier);
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::IGTLTrackingDataDeviceSource::Pointer m_IGTLDeviceSource
mitk::IGTLClient::Pointer m_OpenIGTLinkClient