00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCameraPass.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 =========================================================================*/ 00034 #ifndef __vtkCameraPass_h 00035 #define __vtkCameraPass_h 00036 00037 #include "vtkRenderPass.h" 00038 00039 class VTK_RENDERING_EXPORT vtkCameraPass : public vtkRenderPass 00040 { 00041 public: 00042 static vtkCameraPass *New(); 00043 vtkTypeMacro(vtkCameraPass,vtkRenderPass); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00046 //BTX 00048 00050 virtual void Render(const vtkRenderState *s); 00051 //ETX 00053 00056 void ReleaseGraphicsResources(vtkWindow *w); 00057 00059 00063 vtkGetObjectMacro(DelegatePass,vtkRenderPass); 00064 virtual void SetDelegatePass(vtkRenderPass *delegatePass); 00066 00068 00070 vtkSetMacro(AspectRatioOverride, double); 00071 vtkGetMacro(AspectRatioOverride, double); 00072 protected: 00073 // Description: 00074 // Default constructor. DelegatePass is set to NULL. 00075 vtkCameraPass(); 00077 00079 00080 virtual ~vtkCameraPass(); 00081 virtual void GetTiledSizeAndOrigin( 00082 const vtkRenderState* render_state, 00083 int* width, int* height, int *originX, 00084 int* originY); 00086 00087 vtkRenderPass *DelegatePass; 00088 00089 double AspectRatioOverride; 00090 private: 00091 vtkCameraPass(const vtkCameraPass&); // Not implemented. 00092 void operator=(const vtkCameraPass&); // Not implemented. 00093 }; 00094 00095 #endif