MITK-IGT
IGT Extension of MITK
|
An object of this class represents the interface to Polhemus trackers. All variables with the name "tool" start with index 1, which is the station number of Polhemus. Make sure to call functions in this class with parameter "1" if you want to loop over all tools. If you need to access an array (e.g. m_Hemisphere), you need to use "_tool -1" and adapt your index for loops... More...
#include <mitkPolhemusInterface.h>
Classes | |
struct | trackingData |
Public Member Functions | |
mitkClassMacroItkParent (PolhemusInterface, itk::Object) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
bool | StartTracking () |
Opens the connection to the device and makes it ready to track tools. | |
bool | StopTracking () |
Clears all resources. After this method have been called the system isn't ready to track any longer. | |
bool | Connect () |
bool | Disconnect () |
unsigned int | GetNumberOfTools () |
void | SetHemisphereTrackingEnabled (bool _HemisphereTrackingEnabled, int _tool=-1) |
void | ToggleHemisphere (int _tool=-1) |
void | PrintStatus () |
void | SetHemisphere (int _tool, mitk::Vector3D _hemisphere) |
mitk::Vector3D | GetHemisphere (int _tool) |
std::vector< int > | GetToolPorts () |
bool | GetHemisphereTrackingEnabled (int _tool) |
void | AdjustHemisphere (int _tool) |
std::vector< trackingData > | GetSingleFrame () |
std::vector< trackingData > | AutoDetectTools () |
std::vector< trackingData > | GetLastFrame () |
Protected Member Functions | |
PolhemusInterface () | |
standard constructor | |
~PolhemusInterface () | |
standard destructor | |
std::vector< mitk::PolhemusInterface::trackingData > | ParsePolhemusRawData (PBYTE pBuf, DWORD dwSize) |
bool | InitializeDevice () |
bool | SetupDevice () |
int | GetToolIndex (int _tool) |
std::vector< trackingData > | GetFrame () |
Convenient method to get a frame from the tracking device. | |
Protected Attributes | |
CPDIdev * | m_pdiDev |
An object of this class represents the interface to Polhemus trackers. All variables with the name "tool" start with index 1, which is the station number of Polhemus. Make sure to call functions in this class with parameter "1" if you want to loop over all tools. If you need to access an array (e.g. m_Hemisphere), you need to use "_tool -1" and adapt your index for loops...
Documentation:
Definition at line 42 of file mitkPolhemusInterface.h.
|
protected |
standard constructor
Definition at line 18 of file mitkPolhemusInterface.cpp.
|
protected |
standard destructor
Definition at line 24 of file mitkPolhemusInterface.cpp.
void mitk::PolhemusInterface::AdjustHemisphere | ( | int | _tool | ) |
Adjust the Hemisphere for this tool. User needs to make sure, that the tool is located in hemisphere (1|0|0) when calling this function. In contrast to SetHemisphere(1,0,0), this method restores the original HemisphereTracking settings at the end.
Definition at line 363 of file mitkPolhemusInterface.cpp.
std::vector< mitk::PolhemusInterface::trackingData > mitk::PolhemusInterface::AutoDetectTools | ( | ) |
Definition at line 192 of file mitkPolhemusInterface.cpp.
bool mitk::PolhemusInterface::Connect | ( | ) |
Definition at line 120 of file mitkPolhemusInterface.cpp.
bool mitk::PolhemusInterface::Disconnect | ( | ) |
Definition at line 178 of file mitkPolhemusInterface.cpp.
|
protected |
Convenient method to get a frame from the tracking device.
Definition at line 206 of file mitkPolhemusInterface.cpp.
mitk::Vector3D mitk::PolhemusInterface::GetHemisphere | ( | int | _tool | ) |
Get the Hemisphere for _tool as mitk vector. -1 ("all tools") returns hemisphere of first tool. Index starts at "1" for the first tool (i.e. station number of Polhemus). Not 0!
Definition at line 410 of file mitkPolhemusInterface.cpp.
bool mitk::PolhemusInterface::GetHemisphereTrackingEnabled | ( | int | _tool | ) |
Is Hemisphere Tracking Enabled for this tool? if tool is -1, this means "All Tools". We return true if HemiTracking is enabled for all tools, and false if it is off for at least one tool.
Definition at line 420 of file mitkPolhemusInterface.cpp.
std::vector< mitk::PolhemusInterface::trackingData > mitk::PolhemusInterface::GetLastFrame | ( | ) |
Definition at line 214 of file mitkPolhemusInterface.cpp.
unsigned int mitk::PolhemusInterface::GetNumberOfTools | ( | ) |
Definition at line 200 of file mitkPolhemusInterface.cpp.
std::vector< mitk::PolhemusInterface::trackingData > mitk::PolhemusInterface::GetSingleFrame | ( | ) |
Definition at line 232 of file mitkPolhemusInterface.cpp.
|
protected |
Definition at line 439 of file mitkPolhemusInterface.cpp.
std::vector< int > mitk::PolhemusInterface::GetToolPorts | ( | ) |
Get the ports on which tools are connected. Returns empty vector if device is not connected!
Definition at line 434 of file mitkPolhemusInterface.cpp.
|
protected |
Definition at line 29 of file mitkPolhemusInterface.cpp.
mitk::PolhemusInterface::itkCloneMacro | ( | Self | ) |
mitk::PolhemusInterface::itkFactorylessNewMacro | ( | Self | ) |
mitk::PolhemusInterface::mitkClassMacroItkParent | ( | PolhemusInterface | , |
itk::Object | ) |
|
protected |
Parses polhemus raw data to a collection of tracking data of single tools.
Definition at line 251 of file mitkPolhemusInterface.cpp.
void mitk::PolhemusInterface::PrintStatus | ( | ) |
Convenient method to print the status of the tracking device (true/false) if connection is established. For debugging...
Definition at line 462 of file mitkPolhemusInterface.cpp.
void mitk::PolhemusInterface::SetHemisphere | ( | int | _tool, |
mitk::Vector3D | _hemisphere ) |
Sets the Hemisphere of tool _tool to the vector _hemisphere. "-1" sets all tools. Index starts at "1" for the first tool (i.e. station number of Polhemus). Not 0!
Definition at line 387 of file mitkPolhemusInterface.cpp.
void mitk::PolhemusInterface::SetHemisphereTrackingEnabled | ( | bool | _HemisphereTrackingEnabled, |
int | _tool = -1 ) |
Enables/disables hemisphere tracking for all stations/tools.
Definition at line 290 of file mitkPolhemusInterface.cpp.
|
protected |
Definition at line 38 of file mitkPolhemusInterface.cpp.
bool mitk::PolhemusInterface::StartTracking | ( | ) |
Opens the connection to the device and makes it ready to track tools.
Definition at line 61 of file mitkPolhemusInterface.cpp.
bool mitk::PolhemusInterface::StopTracking | ( | ) |
Clears all resources. After this method have been called the system isn't ready to track any longer.
Definition at line 67 of file mitkPolhemusInterface.cpp.
void mitk::PolhemusInterface::ToggleHemisphere | ( | int | _tool = -1 | ) |
Toggles the current hemisphere. Parameter _tool describes, for which tool the hemisphere should change. Default -1 toggles all tools. Index starts at "1" for the first tool (i.e. station number of Polhemus). Not 0!
Definition at line 341 of file mitkPolhemusInterface.cpp.
|
protected |
Polhemus liberty/patriot tracker object
Definition at line 130 of file mitkPolhemusInterface.h.