VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/OpenGL2/vtkOpenGLHardwareSelector.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkOpenGLHardwareSelector.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 =========================================================================*/
00026 #ifndef vtkOpenGLHardwareSelector_h
00027 #define vtkOpenGLHardwareSelector_h
00028 
00029 #include "vtkRenderingOpenGL2Module.h" // For export macro
00030 #include "vtkHardwareSelector.h"
00031 
00032 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLHardwareSelector : public vtkHardwareSelector
00033 {
00034 public:
00035   static vtkOpenGLHardwareSelector* New();
00036   vtkTypeMacro(vtkOpenGLHardwareSelector, vtkHardwareSelector);
00037   void PrintSelf(ostream& os, vtkIndent indent);
00038 
00040 
00041   virtual void BeginRenderProp();
00042   virtual void EndRenderProp()
00043     { this->vtkHardwareSelector::EndRenderProp(); }
00045 
00048   virtual void RenderCompositeIndex(unsigned int index);
00049 
00052   virtual void RenderAttributeId(vtkIdType attribid);
00053 
00056   virtual void RenderProcessId(unsigned int processid);
00057 
00058 protected:
00059   vtkOpenGLHardwareSelector();
00060   virtual ~vtkOpenGLHardwareSelector();
00061 
00062   // Called internally before and after each prop is rendered
00063   // for device specific configuration/preparation etc.
00064   virtual void BeginRenderProp(vtkRenderWindow *);
00065   virtual void EndRenderProp(vtkRenderWindow *);
00066 
00067   // for internal state
00068   class vtkInternals;
00069   vtkInternals* Internals;
00070 
00071 private:
00072   vtkOpenGLHardwareSelector(const vtkOpenGLHardwareSelector&); // Not implemented.
00073   void operator=(const vtkOpenGLHardwareSelector&); // Not implemented.
00074 };
00075 
00076 #endif