VTK
vtkShader2Collection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkShader2Collection.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 =========================================================================*/
26 #ifndef __vtkShader2Collection_h
27 #define __vtkShader2Collection_h
28 
29 #include "vtkCollection.h"
30 
31 class vtkShader2;
32 
34 {
35  public:
36  static vtkShader2Collection *New();
38  void PrintSelf(ostream& os, vtkIndent indent);
39 
42  unsigned long GetMTime();
43 
45  void AddItem(vtkShader2 *shader);
46 
48  vtkShader2 *GetNextShader();
49 
51  vtkShader2 *GetLastShader();
52 
53  //BTX
55 
57  vtkShader2 *GetNextShader(vtkCollectionSimpleIterator &cookie);
58  //ETX
60 
65  void AddCollection(vtkShader2Collection *other);
66 
72  void RemoveCollection(vtkShader2Collection *other);
73 
77  bool HasVertexShaders();
78 
81  bool HasTessellationControlShaders();
82 
85  bool HasTessellationEvaluationShaders();
86 
88  bool HasGeometryShaders();
89 
93  bool HasFragmentShaders();
94 
96  void ReleaseGraphicsResources();
97 
98 protected:
101 
102 private:
103  // hide the standard AddItem from the user and the compiler.
104  void AddItem(vtkObject *o);
105 
106 private:
107  vtkShader2Collection(const vtkShader2Collection&); // Not implemented.
108  void operator=(const vtkShader2Collection&); // Not implemented.
109 };
110 
111 #endif
void * vtkCollectionSimpleIterator
Definition: vtkCollection.h:46
GLSL Shader.
Definition: vtkShader2.h:59
abstract base class for most VTK objects
Definition: vtkObject.h:60
void PrintSelf(ostream &os, vtkIndent indent)
a list of Shader2 objects.
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:37
static vtkCollection * New()
#define VTK_RENDERING_EXPORT
void AddItem(vtkObject *)
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:51