VTK
dox/IO/vtkGenericMovieWriter.h
Go to the documentation of this file.
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