"""
This type stub file was generated by pyright.
"""

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkUniforms(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkUniforms - helper class to set custom uniform variables in GPU
    shaders.
    
    Superclass: vtkObject
    
    This class implements a generic mechanism to declare and set the
    value of custom uniform variables to be used in GPU shader programs
    used by mappers. It allows users who specify custom shader code for
    mappers to change the value of the variable they define without
    triggering a costly rebuild of the shader. This class is used mostly
    as an interface and the implementation is found in graphics api
    specific derived classes (e.g.: vtkOpenGLUniforms).
    
    @sa
    vtkOpenGLUniforms vtkShaderProperty
    
    @par Thanks: Developed by Simon Drouin (sdrouin2@bwh.harvard.edu) at
    Brigham and Women's Hospital.
    """
    def GetNthUniformName(self, p_int):
        """
        V.GetNthUniformName(int) -> string
        C++: virtual const char *GetNthUniformName(vtkIdType uniformIndex)
        
        Get number of all uniforms stored in this class. Valid range is
        between 0 and GetNumberOfUniforms() - 1.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfUniforms(self):
        """
        V.GetNumberOfUniforms() -> int
        C++: virtual int GetNumberOfUniforms()
        
        Get number of all uniforms stored in this class
        """
        ...
    
    def GetUniform(self, string, Stvector_IiE):
        """
        V.GetUniform(string, Stvector_IiE) -> bool
        C++: virtual bool GetUniform(const char *name,
            std::vector<int> &value)
        V.GetUniform(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniform(const char *name,
            std::vector<float> &value)
        
        Generic setters and getter. Set and Get the value of uniform
        variable name, with TupleType tt, number of components
        nbComponents and values stored invalue. These functions simplify
        io of uniforms
        """
        ...
    
    def GetUniform1fv(self, string, Stvector_IfE):
        """
        V.GetUniform1fv(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniform1fv(const char *name,
            std::vector<float> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniform1iv(self, string, Stvector_IiE):
        """
        V.GetUniform1iv(string, Stvector_IiE) -> bool
        C++: virtual bool GetUniform1iv(const char *name,
            std::vector<int> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniform2f(self, string, p_float=..., p_float=...):
        """
        V.GetUniform2f(string, [float, float]) -> bool
        C++: virtual bool GetUniform2f(const char *name, float v[2])
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniform2fv(self, string, Stvector_IfE):
        """
        V.GetUniform2fv(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniform2fv(const char *name,
            std::vector<float> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniform2i(self, string, p_int=..., p_int=...):
        """
        V.GetUniform2i(string, [int, int]) -> bool
        C++: virtual bool GetUniform2i(const char *name, int v[2])
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniform3f(self, string, p_float=..., p_float=..., p_float=...):
        """
        V.GetUniform3f(string, [float, float, float]) -> bool
        C++: virtual bool GetUniform3f(const char *name, double v[3])
        
        Get the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted from one of the basic supported
        types
        """
        ...
    
    def GetUniform3fv(self, string, Stvector_IfE):
        """
        V.GetUniform3fv(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniform3fv(const char *name,
            std::vector<float> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniform3uc(self, string, p_int=..., p_int=..., p_int=...):
        """
        V.GetUniform3uc(string, [int, int, int]) -> bool
        C++: virtual bool GetUniform3uc(const char *name,
            unsigned char v[3])
        
        Get the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted from one of the basic supported
        types
        """
        ...
    
    def GetUniform4f(self, string, p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetUniform4f(string, [float, float, float, float]) -> bool
        C++: virtual bool GetUniform4f(const char *name, float v[4])
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniform4fv(self, string, Stvector_IfE):
        """
        V.GetUniform4fv(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniform4fv(const char *name,
            std::vector<float> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniform4uc(self, string, p_int=..., p_int=..., p_int=..., p_int=...):
        """
        V.GetUniform4uc(string, [int, int, int, int]) -> bool
        C++: virtual bool GetUniform4uc(const char *name,
            unsigned char v[4])
        
        Get the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted from one of the basic supported
        types
        """
        ...
    
    def GetUniformf(self, string, p_float):
        """
        V.GetUniformf(string, float) -> bool
        C++: virtual bool GetUniformf(const char *name, float &v)
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniformi(self, string, p_int):
        """
        V.GetUniformi(string, int) -> bool
        C++: virtual bool GetUniformi(const char *name, int &v)
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniformListMTime(self):
        """
        V.GetUniformListMTime() -> int
        C++: virtual vtkMTimeType GetUniformListMTime()
        """
        ...
    
    def GetUniformMatrix(self, string, vtkMatrix3x3):
        """
        V.GetUniformMatrix(string, vtkMatrix3x3) -> bool
        C++: virtual bool GetUniformMatrix(const char *name,
            vtkMatrix3x3 *v)
        V.GetUniformMatrix(string, vtkMatrix4x4) -> bool
        C++: virtual bool GetUniformMatrix(const char *name,
            vtkMatrix4x4 *v)
        
        Get the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted from one of the basic supported
        types
        """
        ...
    
    def GetUniformMatrix3x3(self, string, *float):
        """
        V.GetUniformMatrix3x3(string, [float, ...]) -> bool
        C++: virtual bool GetUniformMatrix3x3(const char *name, float *v)
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniformMatrix4x4(self, string, *float):
        """
        V.GetUniformMatrix4x4(string, [float, ...]) -> bool
        C++: virtual bool GetUniformMatrix4x4(const char *name, float *v)
        
        Get the name uniform value. Returns true on success.
        """
        ...
    
    def GetUniformMatrix4x4v(self, string, Stvector_IfE):
        """
        V.GetUniformMatrix4x4v(string, Stvector_IfE) -> bool
        C++: virtual bool GetUniformMatrix4x4v(const char *name,
            std::vector<float> &f)
        
        Get the name uniform vector to f with.
        """
        ...
    
    def GetUniformNumberOfComponents(self, string):
        """
        V.GetUniformNumberOfComponents(string) -> int
        C++: virtual int GetUniformNumberOfComponents(const char *name)
        
        Get the number of components stored in each tuple of uniform
        name. for example, a uniform with tuples of matrix type and 9
        components contains 3x3 matrices
        """
        ...
    
    def GetUniformNumberOfTuples(self, string):
        """
        V.GetUniformNumberOfTuples(string) -> int
        C++: virtual int GetUniformNumberOfTuples(const char *name)
        
        Number of tuples of uniform name that contains a variable-size
        vector. For example, for 3 components uniforms of type vector,
        this is the number of triplets.
        """
        ...
    
    def GetUniformScalarType(self, string):
        """
        V.GetUniformScalarType(string) -> int
        C++: virtual int GetUniformScalarType(const char *name)
        
        Get type of scalars stored in uniform name
        """
        ...
    
    def GetUniformTupleType(self, string):
        """
        V.GetUniformTupleType(string) -> TupleType
        C++: virtual TupleType GetUniformTupleType(const char *name)
        
        Get the tuple type stored in uniform name. This can be a scalar,
        a vector of a matrix.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkUniforms
        C++: vtkUniforms *NewInstance()
        """
        ...
    
    def RemoveAllUniforms(self):
        """
        V.RemoveAllUniforms()
        C++: virtual void RemoveAllUniforms()
        
        Remove all uniform variables
        """
        ...
    
    def RemoveUniform(self, string):
        """
        V.RemoveUniform(string)
        C++: virtual void RemoveUniform(const char *name)
        
        Remove uniform variable named name
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkUniforms
        C++: static vtkUniforms *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def ScalarTypeToString(self, p_int):
        """
        V.ScalarTypeToString(int) -> string
        C++: static std::string ScalarTypeToString(int scalaType)
        
        Convert between scalar types an string
        """
        ...
    
    def SetUniform(self, string, vtkUniforms_TupleType, p_int, Stvector_IiE):
        """
        V.SetUniform(string, vtkUniforms.TupleType, int, Stvector_IiE)
        C++: virtual void SetUniform(const char *name,
            vtkUniforms::TupleType tt, int nbComponents,
            const std::vector<int> &value)
        V.SetUniform(string, vtkUniforms.TupleType, int, Stvector_IfE)
        C++: virtual void SetUniform(const char *name,
            vtkUniforms::TupleType tt, int nbComponents,
            const std::vector<float> &value)
        
        Generic setters and getter. Set and Get the value of uniform
        variable name, with TupleType tt, number of components
        nbComponents and values stored invalue. These functions simplify
        io of uniforms
        """
        ...
    
    def SetUniform1fv(self, string, p_int, float_tuple):
        """
        V.SetUniform1fv(string, int, (float, ...))
        C++: virtual void SetUniform1fv(const char *name, const int count,
             const float *f)
        
        Set the name uniform array to f with count elements
        """
        ...
    
    def SetUniform1iv(self, string, p_int, int_tuple):
        """
        V.SetUniform1iv(string, int, (int, ...))
        C++: virtual void SetUniform1iv(const char *name, const int count,
             const int *f)
        
        Set the name uniform array to f with count elements
        """
        ...
    
    def SetUniform2f(self, string, ):
        """
        V.SetUniform2f(string, (float, float))
        C++: virtual void SetUniform2f(const char *name, const float v[2])
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniform2i(self, string, ):
        """
        V.SetUniform2i(string, (int, int))
        C++: virtual void SetUniform2i(const char *name, const int v[2])
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniform3f(self, string, ):
        """
        V.SetUniform3f(string, (float, float, float))
        C++: virtual void SetUniform3f(const char *name,
            const double v[3])
        
        Set the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted to match one of the basic supported
        types
        """
        ...
    
    def SetUniform3uc(self, string, ):
        """
        V.SetUniform3uc(string, (int, int, int))
        C++: virtual void SetUniform3uc(const char *name,
            const unsigned char v[3])
        
        Set the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted to match one of the basic supported
        types
        """
        ...
    
    def SetUniform4f(self, string, ):
        """
        V.SetUniform4f(string, (float, float, float, float))
        C++: virtual void SetUniform4f(const char *name, const float v[4])
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniform4uc(self, string, ):
        """
        V.SetUniform4uc(string, (int, int, int, int))
        C++: virtual void SetUniform4uc(const char *name,
            const unsigned char v[4])
        
        Set the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted to match one of the basic supported
        types
        """
        ...
    
    def SetUniformf(self, string, p_float):
        """
        V.SetUniformf(string, float)
        C++: virtual void SetUniformf(const char *name, float v)
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniformi(self, string, p_int):
        """
        V.SetUniformi(string, int)
        C++: virtual void SetUniformi(const char *name, int v)
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniformMatrix(self, string, vtkMatrix3x3):
        """
        V.SetUniformMatrix(string, vtkMatrix3x3)
        C++: virtual void SetUniformMatrix(const char *name,
            vtkMatrix3x3 *v)
        V.SetUniformMatrix(string, vtkMatrix4x4)
        C++: virtual void SetUniformMatrix(const char *name,
            vtkMatrix4x4 *v)
        
        Set the name uniform to v. The following are convenience
        functions and do not reflect the way the data is stored and sent
        to OpenGL. Data is converted to match one of the basic supported
        types
        """
        ...
    
    def SetUniformMatrix3x3(self, string, *float):
        """
        V.SetUniformMatrix3x3(string, [float, ...])
        C++: virtual void SetUniformMatrix3x3(const char *name, float *v)
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniformMatrix4x4(self, string, *float):
        """
        V.SetUniformMatrix4x4(string, [float, ...])
        C++: virtual void SetUniformMatrix4x4(const char *name, float *v)
        
        Set the name uniform value to v.
        """
        ...
    
    def SetUniformMatrix4x4v(self, string, p_int, *float):
        """
        V.SetUniformMatrix4x4v(string, int, [float, ...])
        C++: virtual void SetUniformMatrix4x4v(const char *name,
            const int count, float *v)
        
        Set the name uniform array to f with count elements
        """
        ...
    
    def StringToScalarType(self, string):
        """
        V.StringToScalarType(string) -> int
        C++: static int StringToScalarType(const std::string &s)
        """
        ...
    
    def StringToTupleType(self, string):
        """
        V.StringToTupleType(string) -> TupleType
        C++: static TupleType StringToTupleType(const std::string &s)
        """
        ...
    
    def TupleTypeToString(self, TupleType):
        """
        V.TupleTypeToString(TupleType) -> string
        C++: static std::string TupleTypeToString(TupleType tt)
        
        Convert between TupleType and string
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    NumberOfTupleTypes = ...
    TupleType = ...
    TupleTypeInvalid = ...
    TupleTypeMatrix = ...
    TupleTypeScalar = ...
    TupleTypeVector = ...
    __dict__ = ...
    __vtkname__ = ...


