24 #include "vtkRenderingCoreModule.h"
28 VTK_ABI_NAMESPACE_BEGIN
57 static TupleType StringToTupleType(
const std::string& s);
60 static std::string ScalarTypeToString(
int scalarType);
61 static int StringToScalarType(
const std::string& s);
64 virtual void RemoveUniform(
const char*
name) = 0;
67 virtual void RemoveAllUniforms() = 0;
75 const std::vector<int>&
value) = 0;
77 const std::vector<float>&
value) = 0;
78 virtual bool GetUniform(
const char*
name, std::vector<int>&
value) = 0;
79 virtual bool GetUniform(
const char*
name, std::vector<float>&
value) = 0;
84 virtual void SetUniformi(
const char*
name,
int v) = 0;
85 virtual void SetUniformf(
const char*
name,
float v) = 0;
86 virtual void SetUniform2i(
const char*
name,
const int v[2]) = 0;
87 virtual void SetUniform2f(
const char*
name,
const float v[2]) = 0;
88 virtual void SetUniform3f(
const char*
name,
const float v[3]) = 0;
89 virtual void SetUniform4f(
const char*
name,
const float v[4]) = 0;
90 virtual void SetUniformMatrix3x3(
const char*
name,
float* v) = 0;
91 virtual void SetUniformMatrix4x4(
const char*
name,
float* v) = 0;
96 virtual void SetUniform1iv(
const char*
name,
int count,
const int* f) = 0;
97 virtual void SetUniform1fv(
const char*
name,
int count,
const float* f) = 0;
98 virtual void SetUniform2fv(
const char*
name,
int count,
const float (*f)[2]) = 0;
99 virtual void SetUniform3fv(
const char* name,
int count,
const float (*f)[3]) = 0;
100 virtual void SetUniform4fv(
const char* name,
int count,
const float (*f)[4]) = 0;
101 virtual void SetUniformMatrix4x4v(
const char* name,
int count,
float* v) = 0;
109 virtual void SetUniform3f(
const char* name,
const double v[3]) = 0;
110 virtual void SetUniform3uc(
const char* name,
const unsigned char v[3]) = 0;
111 virtual void SetUniform4uc(
const char* name,
const unsigned char v[4]) = 0;
112 virtual void SetUniformMatrix(
const char* name,
vtkMatrix3x3* v) = 0;
113 virtual void SetUniformMatrix(
const char* name,
vtkMatrix4x4* v) = 0;
118 virtual bool GetUniformi(
const char* name,
int& v) = 0;
119 virtual bool GetUniformf(
const char* name,
float& v) = 0;
120 virtual bool GetUniform2i(
const char* name,
int v[2]) = 0;
121 virtual bool GetUniform2f(
const char* name,
float v[2]) = 0;
122 virtual bool GetUniform3f(
const char* name,
float v[3]) = 0;
123 virtual bool GetUniform4f(
const char* name,
float v[4]) = 0;
124 virtual bool GetUniformMatrix3x3(
const char* name,
float* v) = 0;
125 virtual bool GetUniformMatrix4x4(
const char* name,
float* v) = 0;
133 virtual bool GetUniform3f(
const char* name,
double v[3]) = 0;
134 virtual bool GetUniform3uc(
const char* name,
unsigned char v[3]) = 0;
135 virtual bool GetUniform4uc(
const char* name,
unsigned char v[4]) = 0;
136 virtual bool GetUniformMatrix(
const char* name,
vtkMatrix3x3* v) = 0;
137 virtual bool GetUniformMatrix(
const char* name,
vtkMatrix4x4* v) = 0;
142 virtual bool GetUniform1iv(
const char* name, std::vector<int>& f) = 0;
143 virtual bool GetUniform1fv(
const char* name, std::vector<float>& f) = 0;
144 virtual bool GetUniform2fv(
const char* name, std::vector<float>& f) = 0;
145 virtual bool GetUniform3fv(
const char* name, std::vector<float>& f) = 0;
146 virtual bool GetUniform4fv(
const char* name, std::vector<float>& f) = 0;
147 virtual bool GetUniformMatrix4x4v(
const char* name, std::vector<float>& f) = 0;
151 virtual int GetNumberOfUniforms() = 0;
155 virtual const char* GetNthUniformName(
vtkIdType uniformIndex) = 0;
158 virtual int GetUniformScalarType(
const char* name) = 0;
162 virtual TupleType GetUniformTupleType(
const char* name) = 0;
167 virtual int GetUniformNumberOfComponents(
const char* name) = 0;
172 virtual int GetUniformNumberOfTuples(
const char* name) = 0;
183 VTK_ABI_NAMESPACE_END
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
a simple class to control print indentation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3x3 transformation matrices