00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkUniformVariables_h
00030 #define __vtkUniformVariables_h
00031
00032 #include "vtkObject.h"
00033
00034 class vtkUniformVariablesMap;
00035
00036 class VTK_RENDERING_EXPORT vtkUniformVariables : public vtkObject
00037 {
00038 public:
00039 static vtkUniformVariables *New();
00040 vtkTypeRevisionMacro(vtkUniformVariables,vtkObject);
00041 void PrintSelf(ostream &os, vtkIndent indent);
00042
00044
00047 void SetUniformi(const char *name,
00048 int numberOfComponents,
00049 int *value);
00051
00053
00056 void SetUniformf(const char *name,
00057 int numberOfComponents,
00058 float *value);
00060
00062
00065 void SetUniformMatrix(const char *name,
00066 int rows,
00067 int columns,
00068 float *value);
00070
00072 void RemoveUniform(const char *name);
00073
00075
00076 void Send(const char *name,
00077 int uniformIndex);
00079
00081 void Start();
00082
00084 bool IsAtEnd();
00085
00088 const char *GetCurrentName();
00089
00092 void SendCurrentUniform(int uniformIndex);
00093
00095 void Next();
00096
00099 void DeepCopy(vtkUniformVariables *other);
00100
00101 protected:
00102 vtkUniformVariables();
00103 virtual ~vtkUniformVariables();
00104
00105 private:
00106 vtkUniformVariables(const vtkUniformVariables&);
00107 void operator=(const vtkUniformVariables&);
00108
00109 vtkUniformVariablesMap *Map;
00110 };
00111 #endif