00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMesaScalarsToColorsPainter.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 =========================================================================*/ 00015 00016 #ifndef __vtkMesaScalarsToColorsPainter_h 00017 #define __vtkMesaScalarsToColorsPainter_h 00018 00019 #include "vtkScalarsToColorsPainter.h" 00020 00021 class vtkOpenGLTexture; 00022 00023 class VTK_RENDERING_EXPORT vtkMesaScalarsToColorsPainter : 00024 public vtkScalarsToColorsPainter 00025 { 00026 public: 00027 static vtkMesaScalarsToColorsPainter* New(); 00028 vtkTypeMacro(vtkMesaScalarsToColorsPainter, 00029 vtkScalarsToColorsPainter); 00030 void PrintSelf(ostream& os, vtkIndent indent); 00031 00032 00033 // Description: 00034 // Release any graphics resources that are being consumed by this mapper. 00035 // The parameter window could be used to determine which graphic 00036 // resources to release. 00037 virtual void ReleaseGraphicsResources(vtkWindow *); 00038 00039 // Description: 00040 // Return the texture size limit, i.e. GL_MAX_TEXTURE_SIZE. 00041 virtual vtkIdType GetTextureSizeLimit(); 00042 00043 protected: 00044 vtkMesaScalarsToColorsPainter(); 00045 ~vtkMesaScalarsToColorsPainter(); 00046 00047 vtkOpenGLTexture* InternalColorTexture; 00048 00049 // Description: 00050 // Generates rendering primitives of appropriate type(s). Multiple types 00051 // of preimitives can be requested by or-ring the primitive flags. 00052 // Subclasses may override this method. Default implementation propagates 00053 // the call to Deletegate Painter, in any. 00054 virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor, 00055 unsigned long typeflags); 00056 00057 private: 00058 vtkMesaScalarsToColorsPainter(const vtkMesaScalarsToColorsPainter&); // Not implemented. 00059 void operator=(const vtkMesaScalarsToColorsPainter&); // Not implemented. 00060 }; 00061 00062 #endif 00063