00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 #ifndef MITKNDIPASSIVETOOL_H_HEADER_INCLUDED_ 00020 #define MITKNDIPASSIVETOOL_H_HEADER_INCLUDED_ 00021 00022 #include <mitkInternalTrackingTool.h> 00023 #include "mitkTrackingTypes.h" 00024 00025 namespace mitk 00026 { 00027 class NDITrackingDevice; 00036 class MitkIGT_EXPORT NDIPassiveTool : public InternalTrackingTool 00037 { 00038 public: 00039 friend class NDITrackingDevice; 00043 enum TrackingPriority 00044 { 00045 Static = 'S', 00046 Dynamic = 'D', 00047 ButtonBox = 'B' 00048 }; 00049 00050 mitkClassMacro(NDIPassiveTool, InternalTrackingTool); 00051 00052 00053 virtual bool LoadSROMFile(const char* filename); 00054 virtual const unsigned char* GetSROMData() const; 00055 virtual unsigned int GetSROMDataLength() const; 00056 00057 itkSetStringMacro(PortHandle); 00058 itkGetStringMacro(PortHandle); 00059 itkSetMacro(TrackingPriority, TrackingPriority); 00060 itkGetConstMacro(TrackingPriority, TrackingPriority); 00061 itkSetStringMacro(SerialNumber); 00062 itkGetStringMacro(SerialNumber); 00063 itkGetStringMacro(File); 00064 00065 protected: 00066 itkNewMacro(Self); // only the friend class NDITrackingDevice is allowed to instantiate NDIPassiveTools 00067 NDIPassiveTool(); 00068 virtual ~NDIPassiveTool(); 00069 00070 unsigned char* m_SROMData; 00071 unsigned int m_SROMDataLength; 00072 TrackingPriority m_TrackingPriority; 00073 std::string m_PortHandle; 00074 std::string m_SerialNumber; 00075 std::string m_File; 00076 }; 00077 } // namespace mitk 00078 #endif /* MITKNDIPASSIVETOOL_H_HEADER_INCLUDED_ */