Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkInternalTrackingTool.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 
18 #ifndef MITKINTERNALTRACKINGTOOL_H_HEADER_INCLUDED_
19 #define MITKINTERNALTRACKINGTOOL_H_HEADER_INCLUDED_
20 
21 #include <mitkTrackingTool.h>
22 #include <MitkIGTExports.h>
23 #include <mitkNumericTypes.h>
24 #include <itkFastMutexLock.h>
25 
26 namespace mitk {
27 
28 
39  class MITKIGT_EXPORT InternalTrackingTool : public TrackingTool
40  {
41  friend class MicroBirdTrackingDevice; // Add all TrackingDevice subclasses that use InternalTrackingDevice directly
42  public:
44 
45  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
46 
47  virtual void GetPosition(Point3D& position) const override;
48  virtual void GetOrientation(Quaternion& orientation) const override;
49  virtual bool Enable() override;
50  virtual bool Disable() override;
51  virtual bool IsEnabled() const override;
52  virtual bool IsDataValid() const override;
53  virtual float GetTrackingError() const override;
54  virtual bool IsTooltipSet() const;
55  virtual void SetToolName(const std::string _arg);
56  virtual void SetToolName(const char* _arg);
57  virtual void SetPosition(Point3D position);
58  virtual void SetOrientation(Quaternion orientation);
59  virtual void SetTrackingError(float error);
60  virtual void SetDataValid(bool _arg);
61  virtual void SetErrorMessage(const char* _arg);
62  virtual void SetToolTip(Point3D toolTipPosition, Quaternion orientation = Quaternion(0,0,0,1), ScalarType eps=0.0) override;
63 
64  protected:
65  itkFactorylessNewMacro(Self)
66  itkCloneMacro(Self)
68  virtual ~InternalTrackingTool();
69 
70  Point3D m_Position;
71  Quaternion m_Orientation;
72  float m_TrackingError;
73  bool m_Enabled;
74  bool m_DataValid;
75  Point3D m_ToolTip;
76  Quaternion m_ToolTipRotation;
77  bool m_ToolTipSet;
78  };
79 } // namespace mitk
80 #endif /* MITKINTERNALTRACKINGTOOL_H_HEADER_INCLUDED_ */
Interface for all Tracking Tools.
double ScalarType
superclass for specific MIRCOBIRD tracking Devices
DataCollection - Class to facilitate loading/accessing structured data.
implements TrackingTool interface
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
vnl_quaternion< ScalarType > Quaternion
MITKCORE_EXPORT const ScalarType eps