00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGenericMovieWriter.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00027 #ifndef __vtkGenericMovieWriter_h 00028 #define __vtkGenericMovieWriter_h 00029 00030 #include "vtkProcessObject.h" 00031 00032 class vtkImageData; 00033 00034 class VTK_IO_EXPORT vtkGenericMovieWriter : public vtkProcessObject 00035 { 00036 public: 00037 vtkTypeMacro(vtkGenericMovieWriter,vtkProcessObject); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00041 00042 virtual void SetInput(vtkImageData *input); 00043 virtual vtkImageData *GetInput(); 00045 00047 00048 vtkSetStringMacro(FileName); 00049 vtkGetStringMacro(FileName); 00051 00053 00055 virtual void Start() =0; 00056 virtual void Write() =0; 00057 virtual void End() =0; 00059 00061 00062 vtkGetMacro(Error,int); 00064 00066 static const char *GetStringFromErrorCode(unsigned long event); 00067 00068 //BTX 00069 enum MovieWriterErrorIds { 00070 UserError = 40000, //must match vtkErrorCode::UserError 00071 InitError, 00072 NoInputError, 00073 CanNotCompress, 00074 CanNotFormat, 00075 ChangedResolutionError 00076 }; 00077 //ETX 00078 00079 protected: 00080 vtkGenericMovieWriter(); 00081 ~vtkGenericMovieWriter(); 00082 00083 char *FileName; 00084 int Error; 00085 00086 private: 00087 vtkGenericMovieWriter(const vtkGenericMovieWriter&); // Not implemented 00088 void operator=(const vtkGenericMovieWriter&); // Not implemented 00089 }; 00090 00091 #endif 00092 00093 00094