IGSTK
|
00001 /*========================================================================= 00002 00003 Program: Image Guided Surgery Software Toolkit 00004 Module: $RCSfile: igstkInfiniTrackTrackerTool.h,v $ 00005 Language: C++ 00006 Date: $Date: 2011-01-18 21:40:16 $ 00007 Version: $Revision: 1.3 $ 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 00019 #ifndef __igstkInfiniTrackTrackerTool_h 00020 #define __igstkInfiniTrackTrackerTool_h 00021 00022 #ifdef _MSC_VER 00023 #pragma warning ( disable : 4018 ) 00024 //Warning about: identifier was truncated to '255' characters in the debug 00025 //information (MVC6.0 Debug) 00026 #pragma warning( disable : 4284 ) 00027 #endif 00028 00029 #include "igstkTrackerTool.h" 00030 00031 00032 namespace igstk 00033 { 00034 00035 class igstkInfiniTrackTracker; 00036 00051 class InfiniTrackTrackerTool : public TrackerTool 00052 { 00053 00054 public: 00055 00057 igstkStandardClassTraitsMacro (InfiniTrackTrackerTool, TrackerTool ) 00058 00059 00060 igstkGetStringMacro (MarkerName); 00061 00063 void RequestSetMarkerName (const std::string & markerName); 00064 00065 protected: 00066 00068 InfiniTrackTrackerTool(); 00069 00071 virtual ~InfiniTrackTrackerTool(); 00072 00074 virtual void PrintSelf( std::ostream& os, ::itk::Indent indent ) const; 00075 00076 private: 00077 InfiniTrackTrackerTool(const Self&); //purposely not implemented 00078 void operator=(const Self&); //purposely not implemented 00079 00083 virtual bool CheckIfTrackerToolIsConfigured () const; 00084 00086 void ReportInvalidMarkerNameSpecifiedProcessing (); 00087 00089 void ReportInvalidRequestProcessing (); 00090 00092 void SetMarkerNameProcessing (); 00093 00095 igstkDeclareStateMacro (Idle); 00096 igstkDeclareStateMacro (MarkerNameSpecified); 00097 00099 igstkDeclareInputMacro (ValidMarkerName); 00100 igstkDeclareInputMacro (InValidMarkerName); 00101 00103 std::string m_MarkerName; 00104 std::string m_MarkerNameToBeSet; 00105 00107 bool m_TrackerToolConfigured; 00108 00109 }; 00110 00111 } // namespace igstk 00112 00113 00114 #endif // __igstk_InfiniTrackTrackerTool_h_