VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/OpenGL2/vtkOpenGLCamera.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004 
00005   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00021 #ifndef vtkOpenGLCamera_h
00022 #define vtkOpenGLCamera_h
00023 
00024 #include "vtkRenderingOpenGL2Module.h" // For export macro
00025 #include "vtkCamera.h"
00026 
00027 class vtkOpenGLRenderer;
00028 class vtkMatrix3x3;
00029 class vtkMatrix4x4;
00030 
00031 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLCamera : public vtkCamera
00032 {
00033 public:
00034   static vtkOpenGLCamera *New();
00035   vtkTypeMacro(vtkOpenGLCamera, vtkCamera);
00036   virtual void PrintSelf(ostream& os, vtkIndent indent);
00037 
00039   void Render(vtkRenderer *ren);
00040 
00041   void UpdateViewport(vtkRenderer *ren);
00042 
00043   void GetKeyMatrices(vtkRenderer *ren, vtkMatrix4x4 *&WCVCMatrix,
00044     vtkMatrix3x3 *&normalMatrix, vtkMatrix4x4 *&VCDCMatrix, vtkMatrix4x4 *&WCDCMatrix);
00045 
00046 protected:
00047   vtkOpenGLCamera();
00048   ~vtkOpenGLCamera();
00049 
00050   vtkMatrix4x4 *WCDCMatrix;
00051   vtkMatrix4x4 *WCVCMatrix;
00052   vtkMatrix3x3 *NormalMatrix;
00053   vtkMatrix4x4 *VCDCMatrix;
00054   vtkTimeStamp KeyMatrixTime;
00055   vtkRenderer *LastRenderer;
00056 
00057 private:
00058   vtkOpenGLCamera(const vtkOpenGLCamera&);  // Not implemented.
00059   void operator=(const vtkOpenGLCamera&);  // Not implemented.
00060 };
00061 
00062 #endif