00001 /*========================================================================= 00002 00003 Program: Image Guided Surgery Software Toolkit 00004 Module: $RCSfile: igstkAuroraTracker.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009-06-17 14:13:10 $ 00007 Version: $Revision: 1.29 $ 00008 00009 Copyright (c) ISC Insight Software Consortium. All rights reserved. 00010 See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm 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 #ifndef __igstkAuroraTracker_h 00019 #define __igstkAuroraTracker_h 00020 00021 #include "igstkAuroraTrackerTool.h" 00022 #include "igstkNDITracker.h" 00023 00024 namespace igstk 00025 { 00043 const unsigned int MAX_PORT_NUMBER = 12; 00044 const unsigned int MAX_WIRED_PORT_NUMBER = 4; 00045 const unsigned int NUMBER_OF_ATTEMPTS = 256; 00046 const unsigned int MAX_CHANNEL_NUMBER = 1; 00047 00048 class AuroraTracker : public NDITracker 00049 { 00050 public: 00051 00053 igstkStandardClassTraitsMacro( AuroraTracker, NDITracker ) 00054 00055 00056 typedef igstk::AuroraTrackerTool AuroraTrackerToolType; 00057 00060 igstkSetMacro( SimulatedTestMaintainCoverage, bool ); 00061 igstkGetMacro( SimulatedTestMaintainCoverage, bool ); 00062 00063 protected: 00064 00065 AuroraTracker(void); 00066 00067 virtual ~AuroraTracker(void); 00068 00070 virtual ResultType VerifyTrackerToolInformation( const TrackerToolType * ); 00071 00074 virtual ResultType ValidateSpecifiedFrequency( double frequencyInHz ); 00075 00077 virtual void PrintSelf( std::ostream& os, ::itk::Indent indent ) const; 00078 00080 virtual ResultType RemoveTrackerToolFromInternalDataContainers( 00081 const TrackerToolType * trackerTool ); 00082 00083 private: 00084 00085 AuroraTracker(const Self&); //purposely not implemented 00086 void operator=(const Self&); //purposely not implemented 00087 00088 // Keep track of initialized port with spliter 00089 int m_HasSpliter[MAX_WIRED_PORT_NUMBER]; 00090 int m_SpliterHandle[MAX_WIRED_PORT_NUMBER][2]; 00091 bool m_SimulatedTestMaintainCoverage; 00092 }; 00093 00094 } 00095 00096 #endif //__igstk_AuroraTracker_h_