00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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&);
00064 void operator=(const Self&);
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 }
00095
00096
00097 #endif // __igstk_MicronTrackerTool_h_