NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkNDITracker.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkNDITracker_h
16 #define niftkNDITracker_h
17 
18 #include <niftkNDITrackersExports.h>
19 #include <itkObject.h>
20 #include <itkObjectFactory.h>
21 #include <mitkCommon.h>
22 #include <mitkDataStorage.h>
23 #include <mitkNavigationToolStorage.h>
24 #include <mitkTrackingVolumeGenerator.h>
25 #include <map>
26 
27 namespace niftk
28 {
29 
43 class NIFTKNDITRACKERS_EXPORT NDITracker : public itk::Object
44 {
45 public:
46 
47  mitkClassMacroItkParent(NDITracker, itk::Object)
48  itkGetMacro(PreferredFramesPerSecond, int);
49 
64  virtual std::map<std::string, vtkSmartPointer<vtkMatrix4x4> > GetTrackingData() = 0;
65 
71  void SetVisibilityOfTrackingVolume(bool isVisible);
72 
76  bool GetVisibilityOfTrackingVolume() const;
77 
78 protected:
79 
80  NDITracker(mitk::DataStorage::Pointer dataStorage,
81  std::string portName,
82  mitk::TrackingDeviceData deviceData,
83  std::string toolConfigFileName,
84  int preferredFramesPerSecond); // Purposefully hidden.
85 
86  virtual ~NDITracker(); // Purposefully hidden.
87 
88  NDITracker(const NDITracker&); // Purposefully not implemented.
89  NDITracker& operator=(const NDITracker&); // Purposefully not implemented.
90 
91  // Passed in to constructor.
92  mitk::DataStorage::Pointer m_DataStorage;
94  mitk::TrackingDeviceData m_DeviceData;
97 
98  // Created during constructor.
99  mitk::NavigationToolStorage::Pointer m_NavigationToolStorage;
100  mitk::TrackingVolumeGenerator::Pointer m_TrackingVolumeGenerator;
101  mitk::DataNode::Pointer m_TrackingVolumeNode;
102 
103 }; // end class
104 
105 } // end namespace
106 
107 #endif
std::string m_PortName
Definition: niftkNDITracker.h:93
Base class for NifTK interfaces to NDI trackers.
Definition: niftkNDITracker.h:43
mitk::TrackingVolumeGenerator::Pointer m_TrackingVolumeGenerator
Definition: niftkNDITracker.h:100
mitk::NavigationToolStorage::Pointer m_NavigationToolStorage
Definition: niftkNDITracker.h:99
int m_PreferredFramesPerSecond
Definition: niftkNDITracker.h:96
mitk::TrackingDeviceData m_DeviceData
Definition: niftkNDITracker.h:94
mitk::DataNode::Pointer m_TrackingVolumeNode
Definition: niftkNDITracker.h:101
std::string m_ToolConfigFileName
Definition: niftkNDITracker.h:95
mitk::DataStorage::Pointer m_DataStorage
Definition: niftkNDITracker.h:92
Definition: niftkExceptionObject.h:21
GLsizei const GLcharARB ** string
Definition: glew.h:5194