VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTIFFWriter.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 =========================================================================*/ 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 //BTX 00045 enum { // Compression types 00046 NoCompression, 00047 PackBits, 00048 JPEG, 00049 Deflate, 00050 LZW 00051 }; 00052 //ETX 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&); // Not implemented. 00080 void operator=(const vtkTIFFWriter&); // Not implemented. 00081 }; 00082 00083 #endif 00084