Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MITKTRACKINGTOOL_H_HEADER_INCLUDED_
00020 #define MITKTRACKINGTOOL_H_HEADER_INCLUDED_
00021
00022 #include <itkObject.h>
00023 #include <MitkIGTExports.h>
00024 #include <mitkVector.h>
00025 #include <itkFastMutexLock.h>
00026
00027 namespace mitk
00028 {
00036 class MitkIGT_EXPORT TrackingTool : public itk::Object
00037 {
00038 public:
00039 mitkClassMacro(TrackingTool, itk::Object);
00040
00041 virtual void GetPosition(mitk::Point3D& position) const = 0;
00042 virtual void GetOrientation(mitk::Quaternion& orientation) const = 0;
00043 virtual bool Enable() = 0;
00044 virtual bool Disable() = 0;
00045 virtual bool IsEnabled() const = 0;
00046 virtual bool IsDataValid() const = 0;
00047 virtual float GetTrackingError() const = 0;
00048 virtual const char* GetToolName() const;
00049 virtual const char* GetErrorMessage() const;
00050 protected:
00051 TrackingTool();
00052 virtual ~TrackingTool();
00053 std::string m_ToolName;
00054 std::string m_ErrorMessage;
00055 itk::FastMutexLock::Pointer m_MyMutex;
00056 };
00057 }
00058 #endif