VTK
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 
28 #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 
43  static vtkOpenGLContextBufferId *New();
44 
48  void ReleaseGraphicsResources() override;
49 
51 
54  void SetContext(vtkRenderWindow *context) override;
55  vtkRenderWindow *GetContext() override;
57 
62  bool IsSupported() override;
63 
70  void Allocate() override;
71 
75  bool IsAllocated() const override;
76 
82  void SetValues(int srcXmin,
83  int srcYmin) override;
84 
93  vtkIdType GetPickedItem(int x, int y) override;
94 
95 protected:
97  ~vtkOpenGLContextBufferId() override;
98 
101 
102 private:
104  void operator=(const vtkOpenGLContextBufferId &) = delete;
105 };
106 
107 #endif // #ifndef vtkOpenGLContextBufferId_h
OpenGL rendering window.
virtual vtkIdType GetPickedItem(int x, int y)=0
Return item under abscissa x and ordinate y.
virtual void SetContext(vtkRenderWindow *context)=0
Set/Get the OpenGL context owning the texture object resource.
2D array of ids stored in VRAM.
int vtkIdType
Definition: vtkType.h:347
virtual void Allocate()=0
Allocate the memory for at least Width*Height elements.
vtkOpenGLRenderWindow * Context
static vtkAbstractContextBufferId * New()
virtual void ReleaseGraphicsResources()
Release any graphics resources that are being consumed by this object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void SetValues(int srcXmin, int srcYmin)=0
Copy the contents of the current read buffer to the internal structure starting at lower left corner ...
2D array of ids, used for picking.
abstracts an OpenGL texture object.
create a window for renderers to draw into
virtual bool IsAllocated() const =0
Tell if the buffer has been allocated.
virtual bool IsSupported()=0
Returns if the context supports the required extensions.
virtual vtkRenderWindow * GetContext()=0
Set/Get the OpenGL context owning the texture object resource.