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=========================================================================*/
27#ifndef vtkShader2Collection_h
28#define vtkShader2Collection_h
29
30#include "vtkRenderingOpenGLModule.h" // For export macro
31#include "vtkCollection.h"
32
33class vtkShader2;
34
35class VTKRENDERINGOPENGL_EXPORT vtkShader2Collection : public vtkCollection
36{
37 public:
40 void PrintSelf(ostream& os, vtkIndent indent);
41
47
51 void AddItem(vtkShader2 *shader);
52
57
62
68
76
85
92
97
102
107
115
120
121protected:
124
126
127private:
128 // hide the standard AddItem from the user and the compiler.
129 void AddItem(vtkObject *o);
130
131 vtkShader2Collection(const vtkShader2Collection&) VTK_DELETE_FUNCTION;
132 void operator=(const vtkShader2Collection&) VTK_DELETE_FUNCTION;
133};
134
135#endif
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
void AddItem(vtkObject *)
Add an object to the list.
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
a list of Shader2 objects.
void AddCollection(vtkShader2Collection *other)
Add the elements of ‘other’ to the end of ‘this’.
bool HasTessellationControlShaders()
Tells if at least one of the shaders is a tessellation control shader.
bool HasGeometryShaders()
Tells if at least one of the shaders is a geometry shader.
vtkShader2 * GetNextShader(vtkCollectionSimpleIterator &cookie)
Reentrant safe way to get an object in a collection.
void RemoveCollection(vtkShader2Collection *other)
Remove the elements of ‘other’ from ‘this’.
void ReleaseGraphicsResources()
Release OpenGL resources (shader id of each item).
vtkShader2 * GetNextShader()
Get the next shader in the list.
bool HasShadersOfType(int)
vtkShader2 * GetLastShader()
Get the last shader in the list.
vtkMTimeType GetMTime()
Modified GetMTime because the collection time depends on the content of the shaders.
bool HasVertexShaders()
Tells if at least one of the shaders is a vertex shader.
static vtkShader2Collection * New()
bool HasFragmentShaders()
Tells if at least one of the shaders is a fragment shader.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void AddItem(vtkShader2 *shader)
Add a shader to the list.
bool HasTessellationEvaluationShaders()
Tells if at least one of the shaders is a tessellation evaluation shader.
GLSL Shader.
Definition: vtkShader2.h:63
void * vtkCollectionSimpleIterator
Definition: vtkCollection.h:47
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248