Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Rendering/vtkMesaRenderer.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMesaRenderer.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 =========================================================================*/
00045 #ifndef __vtkMesaRenderer_h
00046 #define __vtkMesaRenderer_h
00047 
00048 #include "vtkRenderer.h"
00049 
00050 class VTK_RENDERING_EXPORT vtkMesaRenderer : public vtkRenderer
00051 {
00052 protected:
00053   int NumberOfLightsBound;
00054 
00055 public:
00056   static vtkMesaRenderer *New();
00057   vtkTypeRevisionMacro(vtkMesaRenderer,vtkRenderer);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059 
00061   void DeviceRender(void); 
00062 
00065   void ClearLights(void);
00066 
00067   void Clear(void);
00068 
00070   int UpdateLights(void);
00071   
00072 
00073   
00074   // Create a vtkMesaCamera, will be used by the super class
00075   // to create the correct camera object.
00076   virtual vtkCamera* MakeCamera();
00077   
00078   // Create a vtkMesaLight, will be used by the super class
00079   // to create the correct light object.
00080   virtual vtkLight* MakeLight();
00081   
00082 protected:
00083   vtkMesaRenderer();
00084   ~vtkMesaRenderer();
00085 
00086   //BTX
00087   // Picking functions to be implemented by sub-classes
00088   virtual void DevicePickRender();
00089   virtual void StartPick(unsigned int pickFromSize);
00090   virtual void UpdatePickId();
00091   virtual void DonePick();
00092   virtual unsigned int GetPickedId();
00093   virtual float GetPickedZ();
00094   // Ivars used in picking
00095   class vtkGLPickInfo* PickInfo;
00096   //ETX
00097   float PickedZ;
00098 private:
00099   vtkMesaRenderer(const vtkMesaRenderer&);  // Not implemented.
00100   void operator=(const vtkMesaRenderer&);  // Not implemented.
00101 };
00102 
00103 #endif