VTK
dox/Rendering/vtkRenderPass.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkRenderPass.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 =========================================================================*/
00044 #ifndef __vtkRenderPass_h
00045 #define __vtkRenderPass_h
00046 
00047 #include "vtkObject.h"
00048 
00049 class vtkRenderState;
00050 class vtkWindow;
00051 class vtkRenderer;
00052 
00053 class VTK_RENDERING_EXPORT vtkRenderPass : public vtkObject
00054 {
00055  public:
00056   vtkTypeMacro(vtkRenderPass,vtkObject);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00059   //BTX
00061 
00063   virtual void Render(const vtkRenderState *s)=0;
00064   //ETX
00066   
00068 
00069   vtkGetMacro(NumberOfRenderedProps,int);
00071   
00074   virtual void ReleaseGraphicsResources(vtkWindow *w);
00075   
00076  protected:
00078   vtkRenderPass();
00079 
00081   virtual ~vtkRenderPass();
00082   
00086   void UpdateCamera(vtkRenderer *renderer);
00087   
00090   void ClearLights(vtkRenderer *renderer);
00091   
00094   void UpdateLightGeometry(vtkRenderer *renderer);
00095   
00098   void UpdateLights(vtkRenderer *renderer);
00099 
00102   void UpdateGeometry(vtkRenderer *renderer);
00103   
00105 
00107   void SetLastRenderingUsedDepthPeeling(vtkRenderer *renderer,
00108                                         bool value);
00110   
00111   int NumberOfRenderedProps;
00112   
00113  private:
00114   vtkRenderPass(const vtkRenderPass&);  // Not implemented.
00115   void operator=(const vtkRenderPass&);  // Not implemented.
00116 };
00117 
00118 #endif