Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/IO/vtkImageWriter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageWriter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00029 #ifndef __vtkImageWriter_h 00030 #define __vtkImageWriter_h 00031 00032 #include "vtkProcessObject.h" 00033 00034 class vtkImageData; 00035 00036 class VTK_IO_EXPORT vtkImageWriter : public vtkProcessObject 00037 { 00038 public: 00039 static vtkImageWriter *New(); 00040 vtkTypeRevisionMacro(vtkImageWriter,vtkProcessObject); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 00047 void SetFileName(const char *); 00048 vtkGetStringMacro(FileName); 00050 00052 00055 void SetFilePrefix(char *filePrefix); 00056 vtkGetStringMacro(FilePrefix); 00058 00060 00061 void SetFilePattern(const char *filePattern); 00062 vtkGetStringMacro(FilePattern); 00064 00066 00069 vtkSetMacro(FileDimensionality, int); 00070 vtkGetMacro(FileDimensionality, int); 00072 00074 00075 virtual void SetInput(vtkImageData *input); 00076 vtkImageData *GetInput(); 00078 00080 virtual void Write(); 00081 00082 protected: 00083 vtkImageWriter(); 00084 ~vtkImageWriter(); 00085 00086 int FileDimensionality; 00087 char *FilePrefix; 00088 char *FilePattern; 00089 char *FileName; 00090 int FileNumber; 00091 int FileLowerLeft; 00092 char *InternalFileName; 00093 00094 virtual void RecursiveWrite(int dim, vtkImageData *region, ofstream *file); 00095 virtual void RecursiveWrite(int dim, vtkImageData *cache, 00096 vtkImageData *data, ofstream *file); 00097 virtual void WriteFile(ofstream *file, vtkImageData *data, int extent[6]); 00098 virtual void WriteFileHeader(ofstream *, vtkImageData *) {}; 00099 virtual void WriteFileTrailer(ofstream *, vtkImageData *) {}; 00100 private: 00101 vtkImageWriter(const vtkImageWriter&); // Not implemented. 00102 void operator=(const vtkImageWriter&); // Not implemented. 00103 }; 00104 00105 #endif 00106 00107