VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOpenGLModelViewProjectionMonitor 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 =========================================================================*/ 00032 #ifndef __vtkOpenGLModelViewProjectionMonitor_H 00033 #define __vtkOpenGLModelViewProjectionMonitor_H 00034 00035 #include "vtkRenderingOpenGLModule.h" // for export macro 00036 #include "vtkObject.h" 00037 00038 class VTKRENDERINGOPENGL_EXPORT vtkOpenGLModelViewProjectionMonitor : public vtkObject 00039 { 00040 public: 00041 static vtkOpenGLModelViewProjectionMonitor* New(); 00042 vtkTypeMacro(vtkOpenGLModelViewProjectionMonitor, vtkObject); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00048 bool StateChanged(); 00049 00052 void Update(); 00053 00054 //BTX 00056 00057 void SetProjection(float *val); 00058 void SetModelView(float *val); 00059 //ETX 00061 00062 protected: 00063 vtkOpenGLModelViewProjectionMonitor() : UpTime(0) 00064 { this->Initialize(); } 00065 00066 ~vtkOpenGLModelViewProjectionMonitor(){} 00067 00068 void Initialize(); 00069 00070 private: 00071 float Projection[16]; 00072 float ModelView[16]; 00073 long long UpTime; 00074 00075 private: 00076 vtkOpenGLModelViewProjectionMonitor(const vtkOpenGLModelViewProjectionMonitor&); // Not implemented 00077 void operator=(const vtkOpenGLModelViewProjectionMonitor &); // Not implemented 00078 }; 00079 00080 #endif