VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkDataEncoder.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 vtkDataEncoder_h 00033 #define vtkDataEncoder_h 00034 00035 #include "vtkObject.h" 00036 #include "vtkWebCoreModule.h" // needed for exports 00037 #include "vtkSmartPointer.h" // needed for vtkSmartPointer 00038 00039 class vtkUnsignedCharArray; 00040 class vtkImageData; 00041 00042 class VTKWEBCORE_EXPORT vtkDataEncoder : public vtkObject 00043 { 00044 public: 00045 static vtkDataEncoder* New(); 00046 vtkTypeMacro(vtkDataEncoder, vtkObject); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00051 void Initialize(); 00052 00059 void PushAndTakeReference(vtkTypeUInt32 key, vtkImageData* &data, int quality); 00060 00066 bool GetLatestOutput(vtkTypeUInt32 key,vtkSmartPointer<vtkUnsignedCharArray>& data); 00067 00072 void Flush(vtkTypeUInt32 key); 00073 00074 //BTX 00075 protected: 00076 vtkDataEncoder(); 00077 ~vtkDataEncoder(); 00078 00079 private: 00080 vtkDataEncoder(const vtkDataEncoder&); // Not implemented 00081 void operator=(const vtkDataEncoder&); // Not implemented 00082 00083 class vtkInternals; 00084 vtkInternals* Internals; 00085 //ETX 00086 }; 00087 00088 #endif