IGSTK
|
00001 /*========================================================================= 00002 00003 Program: Image Guided Surgery Software Toolkit 00004 Module: $RCSfile: igstkMicronTrackerTool.h,v $ 00005 Language: C++ 00006 Date: $Date: 2008-03-28 19:29:50 $ 00007 Version: $Revision: 1.2 $ 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 __igstkMicronTrackerTool_h 00019 #define __igstkMicronTrackerTool_h 00020 00021 #include "igstkTrackerTool.h" 00022 00023 00024 namespace igstk 00025 { 00026 00027 class MicronTracker; 00028 00041 class MicronTrackerTool : public TrackerTool 00042 { 00043 public: 00044 00046 igstkStandardClassTraitsMacro( MicronTrackerTool, TrackerTool ) 00047 00048 00049 igstkGetStringMacro( MarkerName ); 00050 00052 void RequestSetMarkerName( const std::string & markerName); 00053 00054 protected: 00055 00056 MicronTrackerTool(); 00057 virtual ~MicronTrackerTool(); 00058 00060 virtual void PrintSelf( std::ostream& os, ::itk::Indent indent ) const; 00061 00062 private: 00063 MicronTrackerTool(const Self&); //purposely not implemented 00064 void operator=(const Self&); //purposely not implemented 00065 00067 igstkDeclareStateMacro( Idle ); 00068 igstkDeclareStateMacro( MarkerNameSpecified ); 00069 00071 igstkDeclareInputMacro( ValidMarkerName ); 00072 igstkDeclareInputMacro( InValidMarkerName ); 00073 00076 virtual bool CheckIfTrackerToolIsConfigured() const; 00077 00079 void ReportInvalidMarkerNameSpecifiedProcessing( ); 00080 00082 void ReportInvalidRequestProcessing(); 00083 00085 void SetMarkerNameProcessing(); 00086 00087 std::string m_MarkerName; 00088 std::string m_MarkerNameToBeSet; 00089 00090 bool m_TrackerToolConfigured; 00091 00092 }; 00093 00094 } // namespace igstk 00095 00096 00097 #endif // __igstk_MicronTrackerTool_h_