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