VTK
vtkUniformVariables.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkUniformVariables.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 =========================================================================*/
29 #ifndef __vtkUniformVariables_h
30 #define __vtkUniformVariables_h
31 
32 #include "vtkObject.h"
33 
34 class vtkUniformVariablesMap; // internal
35 
37 {
38 public:
39  static vtkUniformVariables *New();
41  void PrintSelf(ostream &os, vtkIndent indent);
42 
44 
47  void SetUniformi(const char *name,
48  int numberOfComponents,
49  int *value);
51 
53 
56  void SetUniformf(const char *name,
57  int numberOfComponents,
58  float *value);
60 
62 
67  void SetUniformiv(const char *name,
68  int numberOfComponents,
69  int numberOfElements,
70  int *value);
72 
74 
79  void SetUniformfv(const char *name,
80  int numberOfComponents,
81  int numberOfElements,
82  float *value);
84 
86 
89  void SetUniformMatrix(const char *name,
90  int rows,
91  int columns,
92  float *value);
94 
96  void RemoveUniform(const char *name);
97 
99  void RemoveAllUniforms();
100 
102 
103  void Send(const char *name,
104  int uniformIndex);
106 
108  void Start();
109 
111  bool IsAtEnd();
112 
115  const char *GetCurrentName();
116 
119  void SendCurrentUniform(int uniformIndex);
120 
122  void Next();
123 
126  void DeepCopy(vtkUniformVariables *other);
127 
130  void Merge(vtkUniformVariables *other);
131 
132 protected:
134  virtual ~vtkUniformVariables();
135 
136 private:
137  vtkUniformVariables(const vtkUniformVariables&); // Not implemented.
138  void operator=(const vtkUniformVariables&); // Not implemented.
139 
140  vtkUniformVariablesMap *Map;
141 };
142 #endif