VTK
dox/Rendering/OpenGL/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 "vtkRenderingOpenGLModule.h" // For export macro
00031 #include "vtkGlyph3DMapper.h"
00032 #include "vtkGlyph3D.h" // for the constants (VTK_SCALE_BY_SCALAR, ...).
00033 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
00034 
00035 class vtkOpenGLGlyph3DMapperArray; // pimp
00036 class vtkPainterPolyDataMapper;
00037 class vtkScalarsToColorsPainter;
00038 
00039 class VTKRENDERINGOPENGL_EXPORT vtkOpenGLGlyph3DMapper : public vtkGlyph3DMapper
00040 {
00041 public:
00042   static vtkOpenGLGlyph3DMapper* New();
00043   vtkTypeMacro(vtkOpenGLGlyph3DMapper, vtkGlyph3DMapper);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00049   virtual void Render(vtkRenderer *ren, vtkActor *a);
00050 
00054   virtual void ReleaseGraphicsResources(vtkWindow *window);
00055 
00056 protected:
00057   //BTX
00058   vtkOpenGLGlyph3DMapper();
00059   ~vtkOpenGLGlyph3DMapper();
00060 
00062   virtual void ReportReferences(vtkGarbageCollector*);
00063 
00065   void CopyInformationToSubMapper(vtkPainterPolyDataMapper*);
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*, vtkActor*, vtkDataSet*);
00089   //ETX
00090 };
00091 
00092 #endif