IGSTK
|
00001 /*========================================================================= 00002 00003 Program: Image Guided Surgery Software Toolkit 00004 Module: $RCSfile: igstkWebcamWinVideoImagerTool.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009-06-18 18:40:55 $ 00007 Version: $Revision: 1.1 $ 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 __igstkWebcamWinVideoImagerTool_h 00019 #define __igstkWebcamWinVideoImagerTool_h 00020 00021 #include "igstkVideoImagerTool.h" 00022 00023 namespace igstk 00024 { 00025 00026 class WebcamWinVideoImager; 00027 00038 class WebcamWinVideoImagerTool : public VideoImagerTool 00039 { 00040 public: 00041 00043 igstkStandardClassTraitsMacro( WebcamWinVideoImagerTool, VideoImagerTool ) 00044 00045 00046 igstkGetStringMacro( VideoImagerToolName ); 00047 00049 void RequestSetVideoImagerToolName( const std::string &); 00050 00051 protected: 00052 00053 WebcamWinVideoImagerTool(); 00054 virtual ~WebcamWinVideoImagerTool(); 00055 00057 virtual void PrintSelf( std::ostream& os, ::itk::Indent indent ) const; 00058 00059 private: 00060 WebcamWinVideoImagerTool(const Self&); //purposely not implemented 00061 void operator=(const Self&); //purposely not implemented 00062 00064 igstkDeclareStateMacro( Idle ); 00065 igstkDeclareStateMacro( VideoImagerToolNameSpecified ); 00066 00068 igstkDeclareInputMacro( ValidVideoImagerToolName ); 00069 igstkDeclareInputMacro( InValidVideoImagerToolName ); 00070 00073 virtual bool CheckIfVideoImagerToolIsConfigured() const; 00074 00076 void ReportInvalidVideoImagerToolNameSpecifiedProcessing( ); 00077 00079 void ReportInvalidRequestProcessing(); 00080 00082 void SetVideoImagerToolNameProcessing(); 00083 00084 std::string m_VideoImagerToolName; 00085 std::string m_VideoImagerToolNameToBeSet; 00086 00087 bool m_VideoImagerToolConfigured; 00088 00089 }; 00090 00091 } // namespace igstk 00092 00093 #endif // __igstk_WebcamWinVideoImagerTool_h_