PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusNDICertusTracker.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2  Program: Plus
3  Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4  See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 #ifndef __vtkPlusNDICertusTracker_h
8 #define __vtkPlusNDICertusTracker_h
9 
10 #include "vtkPlusDataCollectionExport.h"
11 
12 #include "vtkPlusDevice.h"
13 #include <map>
14 
16 #define VTK_CERTUS_NTOOLS 12
17 
27 class vtkPlusDataCollectionExport vtkPlusNDICertusTracker : public vtkPlusDevice
28 {
29 public:
30 
31  enum LedState
32  {
33  TR_LED_OFF = 0,
34  TR_LED_ON = 1,
35  TR_LED_FLASH = 2
36  };
37 
38  static vtkPlusNDICertusTracker *New();
40  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
43  virtual std::string GetSdkVersion();
44 
46  virtual PlusStatus InternalConnect();
47 
50 
56  PlusStatus Probe();
57 
59  vtkGetStringMacro(Version);
60 
63 
64  virtual bool IsTracker() const { return true; }
65 
67  PlusStatus SetToolLED(int portNumber, int led, LedState state);
68 
69 protected:
72 
74  vtkSetStringMacro(Version);
75 
83 
86 
88  PlusStatus InitializeCertusSystem();
89 
91  PlusStatus ShutdownCertusSystem();
92 
94  PlusStatus ActivateCertusMarkers();
95 
97  PlusStatus DeActivateCertusMarkers();
98 
100  PlusStatus EnableToolPorts();
101  PlusStatus DisableToolPorts();
102 
104  int GetToolFromHandle(int handle);
105 
107  char *Version;
108 
111 
114 
116  vtkMatrix4x4 *SendMatrix;
117 
119  int PortEnabled[VTK_CERTUS_NTOOLS];
120 
122  int PortHandle[VTK_CERTUS_NTOOLS];
123 
125  std::map<int,int> RigidBodyMap;
126 
127 private:
129  void operator=(const vtkPlusNDICertusTracker&);
130 };
131 
132 #endif
133 
134 
135 
136 
137 
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
virtual std::string GetSdkVersion()
virtual PlusStatus Probe()
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
Interface for the NDI Optotrak Certus tracking device.
virtual PlusStatus InternalStartRecording()
#define VTK_CERTUS_NTOOLS
int * state
Definition: phidget22.h:3207
virtual PlusStatus InternalDisconnect()
std::map< int, int > RigidBodyMap
virtual bool IsTracker() const
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()