VTK
dox/Rendering/OpenGL/vtkOpenGLHardwareSupport.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkOpenGLHardwareSupport.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 =========================================================================*/
00028 #ifndef __vtkOpenGLHardwareSupport_h
00029 #define __vtkOpenGLHardwareSupport_h
00030 
00031 #include "vtkRenderingOpenGLModule.h" // For export macro
00032 #include "vtkObject.h"
00033 
00034 class vtkOpenGLExtensionManager;
00035 
00036 class VTKRENDERINGOPENGL_EXPORT vtkOpenGLHardwareSupport :
00037   public vtkObject //: public vtkHardwareSupport
00038 {
00039 public:
00040   vtkTypeMacro(vtkOpenGLHardwareSupport, vtkObject);
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042 
00043   static vtkOpenGLHardwareSupport *New();
00044 
00046   int GetNumberOfFixedTextureUnits();
00047 
00050   int GetNumberOfTextureUnits();
00051 
00053   bool GetSupportsMultiTexturing();
00054 
00056 
00058   vtkGetObjectMacro(ExtensionManager, vtkOpenGLExtensionManager);
00059   void SetExtensionManager(vtkOpenGLExtensionManager* extensionManager);
00061 
00062 protected:
00063   vtkOpenGLHardwareSupport();
00064   ~vtkOpenGLHardwareSupport();
00065 
00066 private:
00067   vtkOpenGLHardwareSupport(const vtkOpenGLHardwareSupport&);  // Not implemented.
00068   void operator=(const vtkOpenGLHardwareSupport&);  // Not implemented.
00069 
00070   bool ExtensionManagerSet();
00071 
00072   vtkOpenGLExtensionManager* ExtensionManager;
00073 };
00074 
00075 #endif