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  virtual void PrintSelf(ostream &os, vtkIndent indent);
39 
43  static vtkOpenGLContextBufferId *New();
44 
48  virtual void ReleaseGraphicsResources();
49 
51 
54  virtual void SetContext(vtkRenderWindow *context);
55  virtual vtkRenderWindow *GetContext();
57 
62  virtual bool IsSupported();
63 
70  virtual void Allocate();
71 
75  virtual bool IsAllocated() const;
76 
82  virtual void SetValues(int srcXmin,
83  int srcYmin);
84 
93  virtual vtkIdType GetPickedItem(int x, int y);
94 
95 protected:
97  virtual ~vtkOpenGLContextBufferId();
98 
99  vtkOpenGLRenderWindow *Context;
100  vtkTextureObject *Texture;
101 
102 private:
103  vtkOpenGLContextBufferId(const vtkOpenGLContextBufferId &) VTK_DELETE_FUNCTION;
104  void operator=(const vtkOpenGLContextBufferId &) VTK_DELETE_FUNCTION;
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:287
virtual void Allocate()=0
Allocate the memory for at least Width*Height elements.
static vtkAbstractContextBufferId * New()
virtual void ReleaseGraphicsResources()
Release any graphics resources that are being consumed by this object.
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 void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
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.