VTK  9.0.2
vtkOpenGLContextBufferId.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGLContextBufferId.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 =========================================================================*/
15 
25 #ifndef vtkOpenGLContextBufferId_h
26 #define vtkOpenGLContextBufferId_h
27 
29 #include "vtkRenderingContextOpenGL2Module.h" // For export macro
30 
31 class vtkTextureObject;
33 
34 class VTKRENDERINGCONTEXTOPENGL2_EXPORT vtkOpenGLContextBufferId : public vtkAbstractContextBufferId
35 {
36 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
44 
48  void ReleaseGraphicsResources() override;
49 
51 
54  void SetContext(vtkRenderWindow* context) override;
57 
62  bool IsSupported() override;
63 
70  void Allocate() override;
71 
75  bool IsAllocated() const override;
76 
82  void SetValues(int srcXmin, int srcYmin) override;
83 
92  vtkIdType GetPickedItem(int x, int y) override;
93 
94 protected:
97 
100 
101 private:
103  void operator=(const vtkOpenGLContextBufferId&) = delete;
104 };
105 
106 #endif // #ifndef vtkOpenGLContextBufferId_h
2D array of ids, used for picking.
a simple class to control print indentation
Definition: vtkIndent.h:34
2D array of ids stored in VRAM.
~vtkOpenGLContextBufferId() override
void Allocate() override
Allocate the memory for at least Width*Height elements.
vtkOpenGLRenderWindow * Context
bool IsAllocated() const override
Tell if the buffer has been allocated.
void SetValues(int srcXmin, int srcYmin) override
Copy the contents of the current read buffer to the internal texture starting at lower left corner of...
void SetContext(vtkRenderWindow *context) override
Set/Get the OpenGL context owning the texture object resource.
bool IsSupported() override
Returns if the context supports the required extensions.
static vtkOpenGLContextBufferId * New()
Creates a 2D Painter object.
vtkIdType GetPickedItem(int x, int y) override
Return item under abscissa x and ordinate y.
void ReleaseGraphicsResources() override
Release any graphics resources that are being consumed by this object.
vtkRenderWindow * GetContext() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
OpenGL rendering window.
create a window for renderers to draw into
abstracts an OpenGL texture object.
int vtkIdType
Definition: vtkType.h:338