00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00032 #ifndef __vtkTIFFWriter_h
00033 #define __vtkTIFFWriter_h
00034 
00035 #include "vtkImageWriter.h"
00036 
00037 class VTK_IO_EXPORT vtkTIFFWriter : public vtkImageWriter
00038 {
00039 public:
00040   static vtkTIFFWriter *New();
00041   vtkTypeMacro(vtkTIFFWriter,vtkImageWriter);
00042   virtual void PrintSelf(ostream& os, vtkIndent indent);
00043 
00044 
00045   enum { 
00046     NoCompression,
00047     PackBits,
00048     JPEG,
00049     Deflate,
00050     LZW
00051   };
00052 
00053 
00055 
00058   vtkSetClampMacro(Compression, int, NoCompression, LZW);
00059   vtkGetMacro(Compression, int);
00060   void SetCompressionToNoCompression() { this->SetCompression(NoCompression); }
00061   void SetCompressionToPackBits()      { this->SetCompression(PackBits); }
00062   void SetCompressionToJPEG()          { this->SetCompression(JPEG); }
00063   void SetCompressionToDeflate()       { this->SetCompression(Deflate); }
00064   void SetCompressionToLZW()           { this->SetCompression(LZW); }
00066 
00067 protected:
00068   vtkTIFFWriter();
00069   ~vtkTIFFWriter() {}
00070 
00071   virtual void WriteFile(ofstream *file, vtkImageData *data, int ext[6]);
00072   virtual void WriteFileHeader(ofstream *, vtkImageData *);
00073   virtual void WriteFileTrailer(ofstream *, vtkImageData *);
00074 
00075   void* TIFFPtr;
00076   int Compression;
00077 
00078 private:
00079   vtkTIFFWriter(const vtkTIFFWriter&);  
00080   void operator=(const vtkTIFFWriter&);  
00081 };
00082 
00083 #endif
00084