42 #ifndef __vtkPlusNDITracker_h 43 #define __vtkPlusNDITracker_h 45 #include "vtkPlusDataCollectionExport.h" 49 class vtkSocketCommunicator;
53 #define VTK_NDI_REPLY_LEN 2048 104 struct NdiToolDescriptor
107 unsigned char* VirtualSROM;
112 typedef std::map<std::string, NdiToolDescriptor> NdiToolDescriptorsType;
113 typedef std::map<int, std::map<std::string, std::string>> VolumeInformation;
118 void PrintSelf(ostream& os, vtkIndent indent);
150 std::string Command(
const char* format, ...);
153 vtkSetMacro(SerialPort,
int);
154 vtkGetMacro(SerialPort,
int);
157 vtkSetMacro(BaudRate,
int);
158 vtkGetMacro(BaudRate,
int);
167 vtkSetMacro(MeasurementVolumeNumber,
int);
168 vtkGetMacro(MeasurementVolumeNumber,
int);
177 vtkSetMacro(TrackingFrequencyNumber,
int);
178 vtkGetMacro(TrackingFrequencyNumber,
int);
195 vtkSetStdStringMacro(NetworkHostname);
196 vtkGetStdStringMacro(NetworkHostname);
198 vtkSetMacro(NetworkPort,
int);
199 vtkGetMacro(NetworkPort,
int);
201 vtkSetMacro(CheckDSR,
bool);
202 vtkGetMacro(CheckDSR,
bool);
204 vtkSetMacro(HardwareDataAveragingDepth,
int);
205 vtkGetMacro(HardwareDataAveragingDepth,
int);
238 PlusStatus ReadSromFromFile(NdiToolDescriptor& toolDescriptor,
const char* filename);
245 PlusStatus UpdatePortHandle(NdiToolDescriptor& toolDescriptor);
253 PlusStatus SendSromToTracker(
const NdiToolDescriptor& toolDescriptor);
259 PlusStatus ClearVirtualSromInTracker(NdiToolDescriptor& toolDescriptor);
270 void DisableToolPorts();
273 void LogVolumeList(
int selectedVolume, vtkPlusLogger::LogLevelType logLevel);
274 void LogVolumeListSFLIST(
unsigned int numVolumes,
int selectedVolume, vtkPlusLogger::LogLevelType logLevel);
290 PlusStatus SelectMeasurementVolumeDeprecated();
306 PlusStatus SelectTrackingFrequencyDeprecated();
314 static int ConvertBaudToNDIEnum(
int baudRate);
322 #if defined(HAVE_FUTURE) 326 vtkGetMacro(FirmwareMajorRevision, uint32_t);
327 vtkGetMacro(FirmwareMinorRevision, uint32_t);
int TrackingFrequencyNumber
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
Abstract interface for tracker and video devices.
NdiToolDescriptorsType NdiToolDescriptors
virtual PlusStatus InternalConnect()
bool LeaveDeviceOpenAfterProbe
virtual bool IsTracker() const
uint32_t FirmwareMajorRevision
virtual std::string GetSdkVersion()
virtual PlusStatus Probe()
int HardwareDataAveragingDepth
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
int MeasurementVolumeNumber
virtual PlusStatus InternalStartRecording()
std::string NetworkHostname
vtkIGSIORecursiveCriticalSection * CommandMutex
uint32_t FirmwareMinorRevision
virtual PlusStatus InternalDisconnect()
unsigned long LastFrameNumber
virtual PlusStatus InternalUpdate()
#define VTK_NDI_REPLY_LEN
Interface class for Northern Digital's tracking devices.
static vtkPlusDevice * New()