VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkTIFFWriter.h,v $ 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 =========================================================================*/ 00029 #ifndef __vtkTIFFWriter_h 00030 #define __vtkTIFFWriter_h 00031 00032 #include "vtkImageWriter.h" 00033 00034 class VTK_IO_EXPORT vtkTIFFWriter : public vtkImageWriter 00035 { 00036 public: 00037 static vtkTIFFWriter *New(); 00038 vtkTypeRevisionMacro(vtkTIFFWriter,vtkImageWriter); 00039 virtual void PrintSelf(ostream& os, vtkIndent indent); 00040 00041 //BTX 00042 enum { // Compression types 00043 NoCompression, 00044 PackBits, 00045 JPEG, 00046 Deflate, 00047 LZW 00048 }; 00049 //ETX 00050 00052 00055 vtkSetClampMacro(Compression, int, NoCompression, LZW); 00056 vtkGetMacro(Compression, int); 00057 void SetCompressionToNoCompression() { this->SetCompression(NoCompression); } 00058 void SetCompressionToPackBits() { this->SetCompression(PackBits); } 00059 void SetCompressionToJPEG() { this->SetCompression(JPEG); } 00060 void SetCompressionToDeflate() { this->SetCompression(Deflate); } 00061 void SetCompressionToLZW() { this->SetCompression(LZW); } 00063 00064 protected: 00065 vtkTIFFWriter(); 00066 ~vtkTIFFWriter() {} 00067 00068 virtual void WriteFile(ofstream *file, vtkImageData *data, int ext[6]); 00069 virtual void WriteFileHeader(ofstream *, vtkImageData *); 00070 virtual void WriteFileTrailer(ofstream *, vtkImageData *); 00071 00072 void* TIFFPtr; 00073 int Compression; 00074 00075 private: 00076 vtkTIFFWriter(const vtkTIFFWriter&); // Not implemented. 00077 void operator=(const vtkTIFFWriter&); // Not implemented. 00078 }; 00079 00080 #endif 00081