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
vtkAbstractContextBufferId.h
vtkIdType
int vtkIdType
Definition: vtkType.h:287
vtkAbstractContextBufferId::GetPickedItem
virtual vtkIdType GetPickedItem(int x, int y)=0
Return item under abscissa x and ordinate y.
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.
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:43
vtkOpenGLContextBufferId
2D array of ids stored in VRAM.
Definition: vtkOpenGLContextBufferId.h:34
vtkAbstractContextBufferId::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:41
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:86
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()