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:
70  virtual ~vtkOpenGLHardwareSelector();
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.
77  virtual void BeginRenderProp(vtkRenderWindow *);
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
virtual void SavePixelBuffer(int passNo)
implements the device specific code of vtkOpenGLHardwareSelector.
virtual void PostCapturePass(int pass)
virtual void EndRenderProp()
Called by the mapper (vtkHardwareSelectionPolyDataPainter) before and after rendering each prop...
virtual void PreCapturePass(int pass)
virtual void RenderProcessId(unsigned int processid)
Called by any vtkMapper or subclass to render process id.
int vtkIdType
Definition: vtkType.h:287
virtual void RenderAttributeId(vtkIdType attribid)
Called by any vtkMapper or vtkProp subclass to render an attribute's id.
virtual void EndRenderProp()
Called by the mapper (vtkHardwareSelectionPolyDataPainter) before and after rendering each prop...
a simple class to control print indentation
Definition: vtkIndent.h:39
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void BeginSelection()
static vtkHardwareSelector * New()
virtual void BeginRenderProp()
Called by the mapper (vtkHardwareSelectionPolyDataPainter) before and after rendering each prop...
create a window for renderers to draw into
manager for OpenGL-based selection.
virtual void RenderCompositeIndex(unsigned int index)
Called by any vtkMapper or vtkProp subclass to render a composite-index.