Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkOpenGLRenderer.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkOpenGLRenderer.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00026 #ifndef __vtkOpenGLRenderer_h
00027 #define __vtkOpenGLRenderer_h
00028 
00029 #include "vtkRenderer.h"
00030 
00031 class VTK_RENDERING_EXPORT vtkOpenGLRenderer : public vtkRenderer
00032 {
00033 protected:
00034   int NumberOfLightsBound;
00035 
00036 public:
00037   static vtkOpenGLRenderer *New();
00038   vtkTypeRevisionMacro(vtkOpenGLRenderer,vtkRenderer);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042   void DeviceRender(void); 
00043 
00046   void ClearLights(void);
00047 
00048   void Clear(void);
00049 
00051   int UpdateLights(void);
00052   
00053 protected:
00054   vtkOpenGLRenderer();
00055   ~vtkOpenGLRenderer();
00056 
00057   //BTX
00058   // Picking functions to be implemented by sub-classes
00059   virtual void DevicePickRender();
00060   virtual void StartPick(unsigned int pickFromSize);
00061   virtual void UpdatePickId();
00062   virtual void DonePick();
00063   virtual unsigned int GetPickedId();
00064   virtual float GetPickedZ();
00065   // Ivars used in picking
00066   class vtkGLPickInfo* PickInfo;
00067   //ETX
00068   float PickedZ;
00069 private:
00070   vtkOpenGLRenderer(const vtkOpenGLRenderer&);  // Not implemented.
00071   void operator=(const vtkOpenGLRenderer&);  // Not implemented.
00072 };
00073 
00074 #endif