Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends

mitk::InternalTrackingTool Class Reference

implements TrackingTool interface More...

#include <mitkInternalTrackingTool.h>

Inheritance diagram for mitk::InternalTrackingTool:
Inheritance graph
[legend]
Collaboration diagram for mitk::InternalTrackingTool:
Collaboration graph
[legend]

List of all members.

Public Types

typedef InternalTrackingTool Self
typedef TrackingTool Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void GetPosition (mitk::Point3D &position) const
 returns the current position of the tool as an array of three floats (in the tracking device coordinate system)
virtual void GetOrientation (mitk::Quaternion &orientation) const
 returns the current orientation of the tool as a quaternion (in the tracking device coordinate system)
virtual bool Enable ()
 enablea the tool, so that it will be tracked. Returns true if enabling was successfull
virtual bool Disable ()
 disables the tool, so that it will not be tracked anymore. Returns true if disabling was successfull
virtual bool IsEnabled () const
 returns whether the tool is enabled or disabled
virtual bool IsDataValid () const
 returns true if the current position data is valid (no error during tracking, tracking error below threshold, ...)
virtual float GetTrackingError () const
 return one value that corresponds to the overall tracking error. The dimension of this value is specific to each tracking device
virtual void SetToolName (const std::string _arg)
 Sets the name of the tool.
virtual void SetToolName (const char *_arg)
 Sets the name of the tool.
virtual void SetPosition (mitk::Point3D position)
 sets the position
virtual void SetOrientation (mitk::Quaternion orientation)
 sets the orientation as a quaternion
virtual void SetTrackingError (float error)
 sets the tracking error
virtual void SetDataValid (bool _arg)
 sets if the tracking data (position & Orientation) is valid
virtual void SetErrorMessage (const char *_arg)
 sets the error message

Protected Member Functions

 InternalTrackingTool ()
virtual ~InternalTrackingTool ()

Static Protected Member Functions

static Pointer New ()

Protected Attributes

Point3D m_Position
 holds the position of the tool
Quaternion m_Orientation
 holds the orientation of the tool
float m_TrackingError
 holds the tracking error of the tool
bool m_Enabled
 if true, tool is enabled and should receive tracking updates from the tracking device
bool m_DataValid
 if true, data in m_Position and m_Orientation is valid, e.g. true tracking data

Friends

class MicroBirdTrackingDevice

Detailed Description

implements TrackingTool interface

Documentation This class is a complete TrackingTool implementation. It can either be used directly by TrackingDevices, or be subclassed for more specific implementations. mitk::MicroBirdTrackingDevice uses this class to manage its tools. Other tracking devices uses specialized versions of this class (e.g. mitk::NDITrackingTool)

Definition at line 40 of file mitkInternalTrackingTool.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::InternalTrackingTool::ConstPointer
typedef itk::SmartPointer<Self> mitk::InternalTrackingTool::Pointer

Constructor & Destructor Documentation

mitk::InternalTrackingTool::InternalTrackingTool (  ) [protected]

Definition at line 24 of file mitkInternalTrackingTool.cpp.

References m_Orientation, and m_Position.

: TrackingTool(),
m_TrackingError(0.0f), 
m_Enabled(true), 
m_DataValid(false)
{
  m_Position[0] = 0.0f;
  m_Position[1] = 0.0f;
  m_Position[2] = 0.0f;
  m_Orientation[0] = 0.0f;
  m_Orientation[1] = 0.0f;
  m_Orientation[2] = 0.0f;
  m_Orientation[3] = 0.0f;
}
mitk::InternalTrackingTool::~InternalTrackingTool (  ) [protected, virtual]

Definition at line 39 of file mitkInternalTrackingTool.cpp.

{
}

Member Function Documentation

bool mitk::InternalTrackingTool::Disable (  ) [virtual]

disables the tool, so that it will not be tracked anymore. Returns true if disabling was successfull

Implements mitk::TrackingTool.

Definition at line 147 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if (m_Enabled == true)
  {
    this->m_Enabled = false;
    this->Modified();
  }
  return true;
}
bool mitk::InternalTrackingTool::Enable (  ) [virtual]

enablea the tool, so that it will be tracked. Returns true if enabling was successfull

Implements mitk::TrackingTool.

Definition at line 135 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if (m_Enabled == false)
  {
    this->m_Enabled = true;
    this->Modified();
  }  
  return true;
}
virtual const char* mitk::InternalTrackingTool::GetClassName (  ) const [virtual]
void mitk::InternalTrackingTool::GetOrientation ( mitk::Quaternion &  orientation ) const [virtual]

returns the current orientation of the tool as a quaternion (in the tracking device coordinate system)

Implements mitk::TrackingTool.

Definition at line 94 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  orientation = m_Orientation;
}
void mitk::InternalTrackingTool::GetPosition ( mitk::Point3D &  position ) const [virtual]

returns the current position of the tool as an array of three floats (in the tracking device coordinate system)

Implements mitk::TrackingTool.

Definition at line 70 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex
  position[0] = m_Position[0];
  position[1] = m_Position[1];
  position[2] = m_Position[2];
  this->Modified();
}
float mitk::InternalTrackingTool::GetTrackingError (  ) const [virtual]

return one value that corresponds to the overall tracking error. The dimension of this value is specific to each tracking device

Implements mitk::TrackingTool.

Definition at line 127 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  float r = m_TrackingError;
  return r;
}
bool mitk::InternalTrackingTool::IsDataValid (  ) const [virtual]

returns true if the current position data is valid (no error during tracking, tracking error below threshold, ...)

Implements mitk::TrackingTool.

Definition at line 166 of file mitkInternalTrackingTool.cpp.

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  return m_DataValid;
}
bool mitk::InternalTrackingTool::IsEnabled (  ) const [virtual]

returns whether the tool is enabled or disabled

Implements mitk::TrackingTool.

Definition at line 159 of file mitkInternalTrackingTool.cpp.

Referenced by mitk::NDITrackingDevice::InitializeWiredTools().

{
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  return m_Enabled;
}
static Pointer mitk::InternalTrackingTool::New (  ) [static, protected]
void mitk::InternalTrackingTool::SetDataValid ( bool  _arg ) [virtual]

sets if the tracking data (position & Orientation) is valid

Definition at line 173 of file mitkInternalTrackingTool.cpp.

Referenced by mitk::MicroBirdTrackingDevice::TrackTools().

{  
  itkDebugMacro("setting m_DataValid to " << _arg);
  if (this->m_DataValid != _arg)
  {
    MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
    this->m_DataValid = _arg;
    this->Modified();
  }  
}
void mitk::InternalTrackingTool::SetErrorMessage ( const char *  _arg ) [virtual]

sets the error message

Definition at line 185 of file mitkInternalTrackingTool.cpp.

{
  itkDebugMacro("setting  m_ErrorMessage  to " << _arg);
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if ((_arg == NULL) || (_arg == this->m_ErrorMessage)) 
    return;

  if (_arg != NULL)
    this->m_ErrorMessage = _arg;
  else
    this->m_ErrorMessage = "";
  this->Modified(); 
} 
void mitk::InternalTrackingTool::SetOrientation ( mitk::Quaternion  orientation ) [virtual]

sets the orientation as a quaternion

Definition at line 101 of file mitkInternalTrackingTool.cpp.

Referenced by mitk::MicroBirdTrackingDevice::TrackTools().

{
  itkDebugMacro("setting  m_Orientation to " << orientation);
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if (mitk::Equal(orientation, m_Orientation))
  { 
    return;
  }
  m_Orientation = orientation;
  this->Modified();
}
void mitk::InternalTrackingTool::SetPosition ( mitk::Point3D  position ) [virtual]

sets the position

Definition at line 80 of file mitkInternalTrackingTool.cpp.

Referenced by mitk::MicroBirdTrackingDevice::TrackTools().

{
  itkDebugMacro("setting  m_Position to " << position);

  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if (mitk::Equal(position, m_Position))
  { 
    return;
  }
  m_Position = position;
  this->Modified();
}
void mitk::InternalTrackingTool::SetToolName ( const std::string  _arg ) [virtual]

Sets the name of the tool.

Definition at line 64 of file mitkInternalTrackingTool.cpp.

Referenced by QmitkNDIConfigurationWidget::UpdateTrackerFromToolTable().

{
  this->SetToolName(_arg.c_str());
}
void mitk::InternalTrackingTool::SetToolName ( const char *  _arg ) [virtual]

Sets the name of the tool.

Definition at line 44 of file mitkInternalTrackingTool.cpp.

{
  itkDebugMacro("setting  m_ToolName to " << _arg);
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex
  if ( _arg && (_arg == this->m_ToolName) ) 
  { 
    return;
  }
  if (_arg)
  {
    this->m_ToolName= _arg;
  }
  else
  {
    this->m_ToolName= "";
  }
  this->Modified(); 
} 
void mitk::InternalTrackingTool::SetTrackingError ( float  error ) [virtual]

sets the tracking error

Definition at line 114 of file mitkInternalTrackingTool.cpp.

Referenced by mitk::MicroBirdTrackingDevice::TrackTools().

{
  itkDebugMacro("setting  m_TrackingError  to " << error);
  MutexLockHolder lock(*m_MyMutex); // lock and unlock the mutex 
  if (error == m_TrackingError)
  { 
    return;
  }
  m_TrackingError = error;
  this->Modified();
}

Friends And Related Function Documentation

friend class MicroBirdTrackingDevice [friend]

Definition at line 42 of file mitkInternalTrackingTool.h.


Member Data Documentation

if true, data in m_Position and m_Orientation is valid, e.g. true tracking data

Definition at line 70 of file mitkInternalTrackingTool.h.

if true, tool is enabled and should receive tracking updates from the tracking device

Definition at line 69 of file mitkInternalTrackingTool.h.

holds the orientation of the tool

Definition at line 67 of file mitkInternalTrackingTool.h.

Referenced by InternalTrackingTool().

holds the position of the tool

Definition at line 66 of file mitkInternalTrackingTool.h.

Referenced by InternalTrackingTool().

holds the tracking error of the tool

Definition at line 68 of file mitkInternalTrackingTool.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines