VTK
dox/Rendering/vtkOpenGLGlyph3DMapper.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkOpenGLGlyph3DMapper.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 =========================================================================*/
00027 #ifndef __vtkOpenGLGlyph3DMapper_h
00028 #define __vtkOpenGLGlyph3DMapper_h
00029 
00030 #include "vtkGlyph3DMapper.h"
00031 #include "vtkGlyph3D.h" // for the constants (VTK_SCALE_BY_SCALAR, ...).
00032 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
00033 
00034 class vtkOpenGLGlyph3DMapperArray; // pimp
00035 class vtkPainterPolyDataMapper;
00036 class vtkScalarsToColorsPainter;
00037 
00038 class VTK_RENDERING_EXPORT vtkOpenGLGlyph3DMapper : public vtkGlyph3DMapper
00039 {
00040 public:
00041   static vtkOpenGLGlyph3DMapper* New();
00042   vtkTypeMacro(vtkOpenGLGlyph3DMapper, vtkGlyph3DMapper);
00043 
00047   virtual void Render(vtkRenderer *ren, vtkActor *a);
00048 
00052   virtual void ReleaseGraphicsResources(vtkWindow *window);
00053 
00054   void PrintSelf(ostream& os, vtkIndent indent);
00055 
00056   //BTX
00057 protected:
00058   vtkOpenGLGlyph3DMapper();
00059   ~vtkOpenGLGlyph3DMapper();
00060 
00062   virtual void ReportReferences(vtkGarbageCollector *collector);
00063 
00065   void CopyInformationToSubMapper(vtkPainterPolyDataMapper *mapper);
00066 
00068   void ReleaseList();
00069 
00072   virtual void UpdatePainterInformation();
00073 
00074   vtkOpenGLGlyph3DMapperArray *SourceMappers; // array of mappers
00075 
00076   vtkWeakPointer<vtkWindow> LastWindow; // Window used for previous render.
00077 
00078   unsigned int DisplayListId; // GLuint
00079 
00080   vtkScalarsToColorsPainter* ScalarsToColorsPainter;
00081   vtkInformation* PainterInformation;
00082   vtkTimeStamp PainterUpdateTime;
00083 
00084 private:
00085   vtkOpenGLGlyph3DMapper(const vtkOpenGLGlyph3DMapper&); // Not implemented.
00086   void operator=(const vtkOpenGLGlyph3DMapper&); // Not implemented.
00087 
00088   virtual void Render(vtkRenderer *ren, vtkActor *a, vtkDataSet* ds);
00089   //ETX
00090 };
00091 
00092 #endif