Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Interface for all Tracking Devices. More...
#include <mitkTrackingDevice.h>
Public Types | |
enum | RotationMode { RotationStandard, RotationTransposed } |
enum | TrackingDeviceState { Setup, Ready, Tracking } |
Public Member Functions | |
mitkClassMacroItkParent (TrackingDevice, itk::Object) | |
virtual bool | OpenConnection ()=0 |
Opens a connection to the device. More... | |
virtual bool | CloseConnection ()=0 |
Closes the connection to the device. More... | |
virtual bool | StartTracking ()=0 |
start retrieving tracking data from the device. More... | |
virtual bool | StopTracking () |
stop retrieving tracking data from the device. stop retrieving tracking data from the device. This may only be called after StartTracking was called (e.g. the object is in Tracking mode). This will change the object state from Tracking to Ready. More... | |
virtual TrackingTool * | GetTool (unsigned int toolNumber) const =0 |
Return tool with index toolNumber. More... | |
virtual mitk::TrackingTool * | GetToolByName (std::string name) const |
Returns the tool with the given tool name. More... | |
virtual unsigned int | GetToolCount () const =0 |
Returns number of tracking tools. More... | |
virtual void | SetRotationMode (RotationMode r) |
virtual RotationMode | GetRotationMode () const |
TrackingDeviceState | GetState () const |
return current object state (Setup, Ready or Tracking) More... | |
TrackingDeviceType | GetType () const |
Deprecated! Use the more specific getDeviceData instead. return device type identifier. More... | |
void | SetType (TrackingDeviceType type) |
Deprecated! Use the more specific setDeviceData instead. set device type. More... | |
TrackingDeviceData | GetData () const |
return device data More... | |
void | SetData (TrackingDeviceData data) |
set device type More... | |
virtual bool | IsDeviceInstalled () |
Protected Member Functions | |
void | SetState (TrackingDeviceState state) |
change object state More... | |
TrackingDevice () | |
virtual | ~TrackingDevice () |
Protected Attributes | |
TrackingDeviceData | m_Data |
current device Data More... | |
bool | m_StopTracking |
signal stop to tracking thread More... | |
itk::FastMutexLock::Pointer | m_StopTrackingMutex |
mutex to control access to m_StopTracking More... | |
itk::FastMutexLock::Pointer | m_TrackingFinishedMutex |
mutex to manage control flow of StopTracking() More... | |
itk::FastMutexLock::Pointer | m_StateMutex |
mutex to control access to m_State More... | |
RotationMode | m_RotationMode |
defines the rotation mode Standard or Transposed, Standard is default More... | |
Interface for all Tracking Devices.
Documentation Defines the methods that are common for all tracking devices.
Definition at line 38 of file mitkTrackingDevice.h.
Defines the rotation modes of this tracking device which results in different representations of quaternions.
CAUTION: The rotation mode can only be changed for backward compatibility of old WRONG code. PLEASE DO NOT CHANGE THE ROTATION MODE UNLESS YOU ARE KNOWING EXACTLY WHAT YOU ARE DOING!
use SetRotationMode to change the mode.
Enumerator | |
---|---|
RotationStandard | |
RotationTransposed |
Definition at line 56 of file mitkTrackingDevice.h.
Enumerator | |
---|---|
Setup | |
Ready | |
Tracking |
Definition at line 58 of file mitkTrackingDevice.h.
|
protected |
Definition at line 32 of file mitkTrackingDevice.cpp.
References m_StateMutex, m_StopTrackingMutex, m_TrackingFinishedMutex, and mitk::New().
|
protectedvirtual |
Definition at line 45 of file mitkTrackingDevice.cpp.
|
pure virtual |
Closes the connection to the device.
This may only be called if there is currently a connection to the device, but tracking is not running (e.g. object is in Ready state)Closes the connection with the device
Implemented in mitk::OptitrackTrackingDevice, mitk::NDITrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, and mitk::MicroBirdTrackingDevice.
mitk::TrackingDeviceData mitk::TrackingDevice::GetData | ( | ) | const |
return device data
Definition at line 101 of file mitkTrackingDevice.cpp.
|
virtual |
mitk::TrackingDevice::TrackingDeviceState mitk::TrackingDevice::GetState | ( | ) | const |
return current object state (Setup, Ready or Tracking)
Definition at line 58 of file mitkTrackingDevice.cpp.
|
pure virtual |
Return tool with index toolNumber.
tools are numbered from 0 to GetToolCount() - 1.
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::ClaronTrackingDevice.
|
virtual |
Returns the tool with the given tool name.
Note: subclasses can and should implement optimized versions of this method
Reimplemented in mitk::NDITrackingDevice.
Definition at line 130 of file mitkTrackingDevice.cpp.
|
pure virtual |
Returns number of tracking tools.
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::MicroBirdTrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::ClaronTrackingDevice.
mitk::TrackingDeviceType mitk::TrackingDevice::GetType | ( | ) | const |
Deprecated! Use the more specific getDeviceData instead. return device type identifier.
Definition at line 83 of file mitkTrackingDevice.cpp.
|
virtual |
Note that some tracking systems communicate via a standard interface (e.g., serial port) and don't need any library or installation. These devices are always "installed".
Reimplemented in mitk::OpenIGTLinkTrackingDevice, mitk::OptitrackTrackingDevice, and mitk::ClaronTrackingDevice.
Definition at line 49 of file mitkTrackingDevice.cpp.
mitk::TrackingDevice::mitkClassMacroItkParent | ( | TrackingDevice | , |
itk::Object | |||
) |
|
pure virtual |
Opens a connection to the device.
This may only be called if there is currently no connection to the device. If OpenConnection() is successful, the object will change from Setup state to Ready state
Implemented in mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::NDITrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, and mitk::MicroBirdTrackingDevice.
void mitk::TrackingDevice::SetData | ( | mitk::TrackingDeviceData | data | ) |
set device type
Definition at line 106 of file mitkTrackingDevice.cpp.
|
virtual |
Sets the rotation mode of this class. See documentation of enum RotationMode for details on the different modes. This method has to be implemented in a deriving class to become functional / if different rotation modes should be supported. CAUTION: The rotation mode can only be changed for backward compatibility of old WRONG code. PLEASE DO NOT CHANGE THE ROTATION MODE UNLESS YOU ARE KNOWING EXACTLY WHAT YOU ARE DOING!
Reimplemented in mitk::NDITrackingDevice.
Definition at line 78 of file mitkTrackingDevice.cpp.
References MITK_WARN.
|
protected |
change object state
Definition at line 65 of file mitkTrackingDevice.cpp.
void mitk::TrackingDevice::SetType | ( | mitk::TrackingDeviceType | deviceType | ) |
Deprecated! Use the more specific setDeviceData instead. set device type.
Definition at line 87 of file mitkTrackingDevice.cpp.
References mitk::TrackingDeviceTypeCollection::GetFirstCompatibleDeviceDataForLine(), us::GetModuleContext(), and MITK_ERROR.
|
pure virtual |
start retrieving tracking data from the device.
This may only be called after the connection to the device has been established with a call to OpenConnection() (E.g. object is in Ready mode). This will change the object state from Ready to Tracking
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::MicroBirdTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::ClaronTrackingDevice.
|
virtual |
stop retrieving tracking data from the device. stop retrieving tracking data from the device. This may only be called after StartTracking was called (e.g. the object is in Tracking mode). This will change the object state from Tracking to Ready.
Reimplemented in mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::MicroBirdTrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::ClaronTrackingDevice.
Definition at line 111 of file mitkTrackingDevice.cpp.
References mitk::IGTTimeStamp::GetInstance(), and mitk::IGTTimeStamp::Stop().
Referenced by mitk::MicroBirdTrackingDevice::StopTracking().
|
protected |
current device Data
Definition at line 179 of file mitkTrackingDevice.h.
Referenced by mitk::ClaronTrackingDevice::ClaronTrackingDevice(), mitk::MicroBirdTrackingDevice::MicroBirdTrackingDevice(), mitk::NDITrackingDevice::NDITrackingDevice(), mitk::OpenIGTLinkTrackingDevice::OpenIGTLinkTrackingDevice(), and mitk::VirtualTrackingDevice::VirtualTrackingDevice().
|
protected |
defines the rotation mode Standard or Transposed, Standard is default
Definition at line 185 of file mitkTrackingDevice.h.
|
protected |
mutex to control access to m_State
Definition at line 184 of file mitkTrackingDevice.h.
Referenced by TrackingDevice().
|
protected |
signal stop to tracking thread
Definition at line 181 of file mitkTrackingDevice.h.
|
protected |
mutex to control access to m_StopTracking
Definition at line 182 of file mitkTrackingDevice.h.
Referenced by TrackingDevice().
|
protected |
mutex to manage control flow of StopTracking()
Definition at line 183 of file mitkTrackingDevice.h.
Referenced by TrackingDevice().