00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMetaImageWriter.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 =========================================================================*/ 00064 #ifndef __vtkMetaImageWriter_h 00065 #define __vtkMetaImageWriter_h 00066 00067 #include "vtkImageWriter.h" 00068 00069 //BTX 00070 namespace vtkmetaio { class MetaImage; } // forward declaration 00071 //ETX 00072 00073 class VTK_IO_EXPORT vtkMetaImageWriter : public vtkImageWriter 00074 { 00075 public: 00076 vtkTypeMacro(vtkMetaImageWriter,vtkImageWriter); 00077 void PrintSelf(ostream& os, vtkIndent indent); 00078 00080 static vtkMetaImageWriter *New(); 00081 00083 00084 virtual void SetFileName(const char* fname); 00085 virtual char* GetFileName() { return this->MHDFileName; } 00087 00089 00090 virtual void SetRAWFileName(const char* fname); 00091 virtual char* GetRAWFileName(); 00093 00094 virtual void SetCompression( bool compress ) 00095 { 00096 this->Compress = compress; 00097 } 00098 virtual bool GetCompression( void ) 00099 { 00100 return this->Compress; 00101 } 00102 00103 // This is called by the superclass. 00104 // This is the method you should override. 00105 virtual void Write(); 00106 00107 protected: 00108 vtkMetaImageWriter(); 00109 ~vtkMetaImageWriter(); 00110 00111 vtkSetStringMacro(MHDFileName); 00112 char* MHDFileName; 00113 bool Compress; 00114 00115 private: 00116 vtkMetaImageWriter(const vtkMetaImageWriter&); // Not implemented. 00117 void operator=(const vtkMetaImageWriter&); // Not implemented. 00118 00119 //BTX 00120 vtkmetaio::MetaImage * MetaImagePtr; 00121 //ETX 00122 00123 }; 00124 00125 #endif 00126 00127 00128