VTK
vtkOpenGLHardwareSelector.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGLHardwareSelector.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkOpenGLHardwareSelector_h
28 #define vtkOpenGLHardwareSelector_h
29 
30 #include "vtkRenderingOpenGL2Module.h" // For export macro
31 #include "vtkHardwareSelector.h"
32 
33 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLHardwareSelector : public vtkHardwareSelector
34 {
35 public:
38  void PrintSelf(ostream& os, vtkIndent indent);
39 
44  virtual void BeginRenderProp();
45  virtual void EndRenderProp()
47 
52  virtual void RenderCompositeIndex(unsigned int index);
53 
57  virtual void RenderAttributeId(vtkIdType attribid);
58 
63  virtual void RenderProcessId(unsigned int processid);
64 
65  // we need to initialze the depth buffer
66  virtual void BeginSelection();
67 
68 protected:
71 
72  void PreCapturePass(int pass) VTK_OVERRIDE;
73  void PostCapturePass(int pass) VTK_OVERRIDE;
74 
75  // Called internally before and after each prop is rendered
76  // for device specific configuration/preparation etc.
78  virtual void EndRenderProp(vtkRenderWindow *);
79 
80  virtual void SavePixelBuffer(int passNo);
81 
82  // for internal state
83  class vtkInternals;
84  vtkInternals* Internals;
85 
86 private:
87  vtkOpenGLHardwareSelector(const vtkOpenGLHardwareSelector&) VTK_DELETE_FUNCTION;
88  void operator=(const vtkOpenGLHardwareSelector&) VTK_DELETE_FUNCTION;
89 };
90 
91 #endif
manager for OpenGL-based selection.
virtual void EndRenderProp()
a simple class to control print indentation
Definition: vtkIndent.h:40
implements the device specific code of vtkOpenGLHardwareSelector.
virtual void RenderAttributeId(vtkIdType attribid)
Called by any vtkMapper or vtkProp subclass to render an attribute's id.
virtual void BeginRenderProp(vtkRenderWindow *)
virtual void RenderProcessId(unsigned int processid)
Called by any vtkMapper or subclass to render process id.
void PreCapturePass(int pass) override
void PostCapturePass(int pass) override
virtual void SavePixelBuffer(int passNo)
virtual void RenderCompositeIndex(unsigned int index)
Called by any vtkMapper or vtkProp subclass to render a composite-index.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void EndRenderProp(vtkRenderWindow *)
static vtkOpenGLHardwareSelector * New()
virtual void BeginRenderProp()
Called by the mapper before and after rendering each prop.
virtual ~vtkOpenGLHardwareSelector()
virtual void BeginSelection()
create a window for renderers to draw into
@ index
Definition: vtkX3D.h:246
int vtkIdType
Definition: vtkType.h:287