00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2008-02-08 13:23:19 +0100 (Fr, 08 Feb 2008) $ 00006 Version: $Revision: 13561 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html 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 _MITK_NavigationDataRecorder_H 00020 #define _MITK_NavigationDataRecorder_H 00021 00022 #include <itkProcessObject.h> 00023 #include "mitkNavigationData.h" 00024 00025 #include <iostream> 00026 00027 namespace mitk 00028 { 00029 00045 class MitkIGT_EXPORT NavigationDataRecorder : public itk::ProcessObject 00046 { 00047 public: 00048 mitkClassMacro( NavigationDataRecorder, itk::ProcessObject ); 00049 00050 itkNewMacro( Self ); 00051 00059 itkSetStringMacro(FileName); 00060 00064 itkGetStringMacro(FileName); 00065 00066 00070 itkGetMacro(Recording,bool); 00071 00075 virtual void AddNavigationData(const NavigationData* nd); 00076 00081 void StartRecording(); 00082 00086 void StartRecording(std::ostream* stream); 00087 00091 void StopRecording(); 00092 00096 virtual void Update(); 00097 00105 enum RecordingMode 00106 { 00107 Console, 00108 NormalFile, 00109 ZipFile 00110 }; 00111 00116 void SetRecordingMode(RecordingMode mode); 00117 00118 protected: 00119 00124 virtual void GenerateData(); 00125 00126 NavigationDataRecorder(); 00127 00128 virtual ~NavigationDataRecorder(); 00129 00130 std::string m_FileName; 00131 00132 unsigned int m_NumberOfInputs; 00133 00134 std::ostream* m_Stream; 00135 00136 RecordingMode m_RecordingMode; 00137 00138 bool m_Recording; 00139 00140 unsigned int m_NumberOfRecordedFiles; 00141 00142 }; 00143 00144 } 00145 #endif // #define _MITK_POINT_SET_SOURCE_H 00146