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
vtkAbstractContextBufferId.h
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkAbstractContextBufferId::GetPickedItem
virtual vtkIdType GetPickedItem(int x, int y)=0
Return item under abscissa x and ordinate y.
vtkOpenGLContextBufferId::Texture
vtkTextureObject * Texture
Definition: vtkOpenGLContextBufferId.h:100
vtkAbstractContextBufferId
2D array of ids, used for picking.
Definition: vtkAbstractContextBufferId.h:46
vtkAbstractContextBufferId::IsAllocated
virtual bool IsAllocated() const =0
Tell if the buffer has been allocated.
vtkOpenGLContextBufferId::Context
vtkOpenGLRenderWindow * Context
Definition: vtkOpenGLContextBufferId.h:99
vtkAbstractContextBufferId::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources()
Release any graphics resources that are being consumed by this object.
vtkAbstractContextBufferId::SetContext
virtual void SetContext(vtkRenderWindow *context)=0
Set/Get the OpenGL context owning the texture object resource.
vtkAbstractContextBufferId::IsSupported
virtual bool IsSupported()=0
Returns if the context supports the required extensions.
vtkAbstractContextBufferId::GetContext
virtual vtkRenderWindow * GetContext()=0
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkTextureObject
abstracts an OpenGL texture object.
Definition: vtkTextureObject.h:44
vtkOpenGLContextBufferId
2D array of ids stored in VRAM.
Definition: vtkOpenGLContextBufferId.h:34
vtkAbstractContextBufferId::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:53
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:87
vtkAbstractContextBufferId::Allocate
virtual void Allocate()=0
Allocate the memory for at least Width*Height elements.
vtkAbstractContextBufferId::SetValues
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 ...
vtkAbstractContextBufferId::New
static vtkAbstractContextBufferId * New()