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

import vtkmodules.vtkRenderingCore as __vtkmodules_vtkRenderingCore

class vtkOpenGLPolyDataMapper(__vtkmodules_vtkRenderingCore.vtkPolyDataMapper):
    """
    vtkOpenGLPolyDataMapper - PolyDataMapper using OpenGL to render.
    
    Superclass: vtkPolyDataMapper
    
    PolyDataMapper that uses a OpenGL to do the actual rendering.
    """
    def AddShaderReplacement(self, vtkShader_Type, string, bool, string_1, bool_1):
        """
        V.AddShaderReplacement(vtkShader.Type, string, bool, string, bool)
        C++: void AddShaderReplacement(vtkShader::Type shaderType,
            const std::string &originalValue, bool replaceFirst,
            const std::string &replacementValue, bool replaceAll)
        
        This function enables you to apply your own substitutions to the
        shader creation process. The shader code in this class is created
        by applying a bunch of string replacements to a shader template.
        Using this function you can apply your own string replacements to
        add features you desire.
        
        @deprecated Replaced By
        vtkShaderProperty::{Add,Clear,ClearAll}ShaderReplacements as of
        VTK 9.0.
        """
        ...
    
    def ClearAllShaderReplacements(self, vtkShader_Type):
        """
        V.ClearAllShaderReplacements(vtkShader.Type)
        C++: void ClearAllShaderReplacements(vtkShader::Type shaderType)
        V.ClearAllShaderReplacements()
        C++: void ClearAllShaderReplacements()
        
        This function enables you to apply your own substitutions to the
        shader creation process. The shader code in this class is created
        by applying a bunch of string replacements to a shader template.
        Using this function you can apply your own string replacements to
        add features you desire.
        
        @deprecated Replaced By
        vtkShaderProperty::{Add,Clear,ClearAll}ShaderReplacements as of
        VTK 9.0.
        """
        ...
    
    def ClearShaderReplacement(self, vtkShader_Type, string, bool):
        """
        V.ClearShaderReplacement(vtkShader.Type, string, bool)
        C++: void ClearShaderReplacement(vtkShader::Type shaderType,
            const std::string &originalValue, bool replaceFirst)
        
        This function enables you to apply your own substitutions to the
        shader creation process. The shader code in this class is created
        by applying a bunch of string replacements to a shader template.
        Using this function you can apply your own string replacements to
        add features you desire.
        
        @deprecated Replaced By
        vtkShaderProperty::{Add,Clear,ClearAll}ShaderReplacements as of
        VTK 9.0.
        """
        ...
    
    def GetCellIdArrayName(self):
        """
        V.GetCellIdArrayName() -> string
        C++: virtual char *GetCellIdArrayName()
        
        By default, this class uses the dataset's point and cell ids
        during rendering. However, one can override those by specifying
        cell and point data arrays to use instead. Currently, only
        vtkIdType array is supported. Set to NULL string (default) to use
        the point ids instead.
        """
        ...
    
    def GetCompositeIdArrayName(self):
        """
        V.GetCompositeIdArrayName() -> string
        C++: virtual char *GetCompositeIdArrayName()
        
        Generally, this class can render the composite id when iterating
        over composite datasets. However in some cases (as in AMR), the
        rendered structure may not correspond to the input data, in which
        case we need to provide a cell array that can be used to render
        in the composite id in selection passes. Set to NULL (default) to
        not override the composite id color set by vtkCompositePainter if
        any. The array *MUST* be a cell array and of type
        vtkUnsignedIntArray.
        """
        ...
    
    def GetFragmentShaderCode(self):
        """
        V.GetFragmentShaderCode() -> string
        C++: virtual char *GetFragmentShaderCode()
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    def GetGeometryShaderCode(self):
        """
        V.GetGeometryShaderCode() -> string
        C++: virtual char *GetGeometryShaderCode()
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    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 GetPointIdArrayName(self):
        """
        V.GetPointIdArrayName() -> string
        C++: virtual char *GetPointIdArrayName()
        
        By default, this class uses the dataset's point and cell ids
        during rendering. However, one can override those by specifying
        cell and point data arrays to use instead. Currently, only
        vtkIdType array is supported. Set to NULL string (default) to use
        the point ids instead.
        """
        ...
    
    def GetPopulateSelectionSettings(self):
        """
        V.GetPopulateSelectionSettings() -> int
        C++: virtual int GetPopulateSelectionSettings()
        """
        ...
    
    def GetProcessIdArrayName(self):
        """
        V.GetProcessIdArrayName() -> string
        C++: virtual char *GetProcessIdArrayName()
        
        If this class should override the process id using a data-array,
        set this variable to the name of the array to use. It must be a
        point-array.
        """
        ...
    
    def GetSupportsSelection(self):
        """
        V.GetSupportsSelection() -> bool
        C++: bool GetSupportsSelection() override;
        
        WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT
        USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Used by
        vtkHardwareSelector to determine if the prop supports hardware
        selection.
        """
        ...
    
    def GetVBOs(self):
        """
        V.GetVBOs() -> vtkOpenGLVertexBufferObjectGroup
        C++: virtual vtkOpenGLVertexBufferObjectGroup *GetVBOs()
        
        Return the mapper's vertex buffer objects.
        """
        ...
    
    def GetVertexShaderCode(self):
        """
        V.GetVertexShaderCode() -> string
        C++: virtual char *GetVertexShaderCode()
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    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 MapDataArrayToMultiTextureAttribute(self, string, string_1, p_int, p_int_1):
        """
        V.MapDataArrayToMultiTextureAttribute(string, string, int, int)
        C++: void MapDataArrayToMultiTextureAttribute(const char *tname,
            const char *dataArrayName, int fieldAssociation,
            int componentno=-1) override;
        """
        ...
    
    def MapDataArrayToVertexAttribute(self, string, string_1, p_int, p_int_1):
        """
        V.MapDataArrayToVertexAttribute(string, string, int, int)
        C++: void MapDataArrayToVertexAttribute(
            const char *vertexAttributeName, const char *dataArrayName,
            int fieldAssociation, int componentno=-1) override;
        
        Select a data array from the point/cell data and map it to a
        generic vertex attribute. vertexAttributeName is the name of the
        vertex attribute. dataArrayName is the name of the data array.
        fieldAssociation indicates when the data array is a point data
        array or cell data array (vtkDataObject::FIELD_ASSOCIATION_POINTS
        or (vtkDataObject::FIELD_ASSOCIATION_CELLS). componentno
        indicates which component from the data array must be passed as
        the attribute. If -1, then all components are passed.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkOpenGLPolyDataMapper
        C++: vtkOpenGLPolyDataMapper *NewInstance()
        """
        ...
    
    def ProcessSelectorPixelBuffers(self, vtkHardwareSelector, Stvector_IjE, vtkProp):
        """
        V.ProcessSelectorPixelBuffers(vtkHardwareSelector, Stvector_IjE,
            vtkProp)
        C++: void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel,
            std::vector<unsigned int> &pixeloffsets, vtkProp *prop)
            override;
        
        allows a mapper to update a selections color buffers Called from
        a prop which in turn is called from the selector
        """
        ...
    
    def ReleaseGraphicsResources(self, vtkWindow):
        """
        V.ReleaseGraphicsResources(vtkWindow)
        C++: void ReleaseGraphicsResources(vtkWindow *) override;
        
        Release any graphics resources that are being consumed by this
        mapper. The parameter window could be used to determine which
        graphic resources to release.
        """
        ...
    
    def RemoveAllVertexAttributeMappings(self):
        """
        V.RemoveAllVertexAttributeMappings()
        C++: void RemoveAllVertexAttributeMappings() override;
        
        Remove all vertex attributes.
        """
        ...
    
    def RemoveVertexAttributeMapping(self, string):
        """
        V.RemoveVertexAttributeMapping(string)
        C++: void RemoveVertexAttributeMapping(
            const char *vertexAttributeName) override;
        
        Remove a vertex attribute mapping.
        """
        ...
    
    def RenderPiece(self, vtkRenderer, vtkActor):
        """
        V.RenderPiece(vtkRenderer, vtkActor)
        C++: void RenderPiece(vtkRenderer *ren, vtkActor *act) override;
        
        Implemented by sub classes. Actual rendering is done here.
        """
        ...
    
    def RenderPieceDraw(self, vtkRenderer, vtkActor):
        """
        V.RenderPieceDraw(vtkRenderer, vtkActor)
        C++: virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act)
        
        Implemented by sub classes. Actual rendering is done here.
        """
        ...
    
    def RenderPieceFinish(self, vtkRenderer, vtkActor):
        """
        V.RenderPieceFinish(vtkRenderer, vtkActor)
        C++: virtual void RenderPieceFinish(vtkRenderer *ren,
            vtkActor *act)
        
        Implemented by sub classes. Actual rendering is done here.
        """
        ...
    
    def RenderPieceStart(self, vtkRenderer, vtkActor):
        """
        V.RenderPieceStart(vtkRenderer, vtkActor)
        C++: virtual void RenderPieceStart(vtkRenderer *ren,
            vtkActor *act)
        
        Implemented by sub classes. Actual rendering is done here.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkOpenGLPolyDataMapper
        C++: static vtkOpenGLPolyDataMapper *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetCellIdArrayName(self, string):
        """
        V.SetCellIdArrayName(string)
        C++: virtual void SetCellIdArrayName(const char *_arg)
        
        By default, this class uses the dataset's point and cell ids
        during rendering. However, one can override those by specifying
        cell and point data arrays to use instead. Currently, only
        vtkIdType array is supported. Set to NULL string (default) to use
        the point ids instead.
        """
        ...
    
    def SetCompositeIdArrayName(self, string):
        """
        V.SetCompositeIdArrayName(string)
        C++: virtual void SetCompositeIdArrayName(const char *_arg)
        
        Generally, this class can render the composite id when iterating
        over composite datasets. However in some cases (as in AMR), the
        rendered structure may not correspond to the input data, in which
        case we need to provide a cell array that can be used to render
        in the composite id in selection passes. Set to NULL (default) to
        not override the composite id color set by vtkCompositePainter if
        any. The array *MUST* be a cell array and of type
        vtkUnsignedIntArray.
        """
        ...
    
    def SetFragmentShaderCode(self, string):
        """
        V.SetFragmentShaderCode(string)
        C++: virtual void SetFragmentShaderCode(const char *code)
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    def SetGeometryShaderCode(self, string):
        """
        V.SetGeometryShaderCode(string)
        C++: virtual void SetGeometryShaderCode(const char *code)
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    def SetPointIdArrayName(self, string):
        """
        V.SetPointIdArrayName(string)
        C++: virtual void SetPointIdArrayName(const char *_arg)
        
        By default, this class uses the dataset's point and cell ids
        during rendering. However, one can override those by specifying
        cell and point data arrays to use instead. Currently, only
        vtkIdType array is supported. Set to NULL string (default) to use
        the point ids instead.
        """
        ...
    
    def SetPopulateSelectionSettings(self, p_int):
        """
        V.SetPopulateSelectionSettings(int)
        C++: void SetPopulateSelectionSettings(int v)
        """
        ...
    
    def SetProcessIdArrayName(self, string):
        """
        V.SetProcessIdArrayName(string)
        C++: virtual void SetProcessIdArrayName(const char *_arg)
        
        If this class should override the process id using a data-array,
        set this variable to the name of the array to use. It must be a
        point-array.
        """
        ...
    
    def SetVBOShiftScaleMethod(self, p_int):
        """
        V.SetVBOShiftScaleMethod(int)
        C++: void SetVBOShiftScaleMethod(int m)
        
        A convenience method for enabling/disabling
        the VBO's shift+scale transform.
        """
        ...
    
    def SetVertexShaderCode(self, string):
        """
        V.SetVertexShaderCode(string)
        C++: virtual void SetVertexShaderCode(const char *code)
        
        Allow the program to set the shader codes used directly instead
        of using the built in templates. Be aware, if set, this template
        will be used for all cases, primitive types, picking etc.
        
        @deprecated Replaced By vtkShaderProperty::Get*ShaderCode as of
        VTK 9.0.
        """
        ...
    
    def ShallowCopy(self, vtkAbstractMapper):
        """
        V.ShallowCopy(vtkAbstractMapper)
        C++: void ShallowCopy(vtkAbstractMapper *m) override;
        
        Make a shallow copy of this mapper.
        """
        ...
    
    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__ = ...
    PrimitiveEnd = ...
    PrimitiveLines = ...
    PrimitivePoints = ...
    PrimitiveStart = ...
    PrimitiveTris = ...
    PrimitiveTrisEdges = ...
    PrimitiveTriStrips = ...
    PrimitiveTriStripsEdges = ...
    PrimitiveTypes = ...
    PrimitiveVertices = ...
    __dict__ = ...
    __vtkname__ = ...


