# encoding: utf-8
# module vtkmodules.vtkRenderingOpenGL2
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkRenderingOpenGL2.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkRenderingCore as __vtkmodules_vtkRenderingCore
import vtkmodules.vtkRenderingHyperTreeGrid as __vtkmodules_vtkRenderingHyperTreeGrid


from .vtkImageProcessingPass import vtkImageProcessingPass

class vtkSSAOPass(vtkImageProcessingPass):
    """
    vtkSSAOPass - Implement a screen-space ambient occlusion pass.
    
    Superclass: vtkImageProcessingPass
    
    SSAO darkens some pixels to improve depth perception simulating
    ambient occlusion in screen space. For each fragment, random samples
    inside a hemisphere at the fragment position oriented with the normal
    are tested against other fragments to compute an average occlusion.
    The number of samples and the radius of the hemisphere are
    configurables.
    
    @sa
    vtkRenderPass
    """
    def BlurOff(self): # real signature unknown; restored from __doc__
        """
        BlurOff(self) -> None
        C++: virtual void BlurOff()
        """
        pass

    def BlurOn(self): # real signature unknown; restored from __doc__
        """
        BlurOn(self) -> None
        C++: virtual void BlurOn()
        """
        pass

    def GetBias(self): # real signature unknown; restored from __doc__
        """
        GetBias(self) -> float
        C++: virtual double GetBias()
        
        Get/Set the bias when comparing samples. Default is 0.01
        """
        return 0.0

    def GetBlur(self): # real signature unknown; restored from __doc__
        """
        GetBlur(self) -> bool
        C++: virtual bool GetBlur()
        
        Get/Set blurring of the ambient occlusion. Blurring can help to
        improve the result if samples number is low. Default is false
        """
        return False

    def GetKernelSize(self): # real signature unknown; restored from __doc__
        """
        GetKernelSize(self) -> int
        C++: virtual unsigned int GetKernelSize()
        
        Get/Set the number of samples. Default is 32
        """
        return 0

    def GetKernelSizeMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetKernelSizeMaxValue(self) -> int
        C++: virtual unsigned int GetKernelSizeMaxValue()
        """
        return 0

    def GetKernelSizeMinValue(self): # real signature unknown; restored from __doc__
        """
        GetKernelSizeMinValue(self) -> int
        C++: virtual unsigned int GetKernelSizeMinValue()
        """
        return 0

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def GetRadius(self): # real signature unknown; restored from __doc__
        """
        GetRadius(self) -> float
        C++: virtual double GetRadius()
        
        Get/Set the SSAO hemisphere radius. Default is 0.5
        """
        return 0.0

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkSSAOPass
        C++: vtkSSAOPass *NewInstance()
        """
        return vtkSSAOPass

    def PostReplaceShaderValues(self, vertexShader, geometryShader, fragmentShader, mapper, prop): # real signature unknown; restored from __doc__
        """
        PostReplaceShaderValues(self, vertexShader:str,
            geometryShader:str, fragmentShader:str,
            mapper:vtkAbstractMapper, prop:vtkProp) -> bool
        C++: bool PostReplaceShaderValues(std::string &vertexShader,
            std::string &geometryShader, std::string &fragmentShader,
            vtkAbstractMapper *mapper, vtkProp *prop) override;
        
        Post replace shader values
        """
        return False

    def PreReplaceShaderValues(self, vertexShader, geometryShader, fragmentShader, mapper, prop): # real signature unknown; restored from __doc__
        """
        PreReplaceShaderValues(self, vertexShader:str, geometryShader:str,
             fragmentShader:str, mapper:vtkAbstractMapper, prop:vtkProp)
            -> bool
        C++: bool PreReplaceShaderValues(std::string &vertexShader,
            std::string &geometryShader, std::string &fragmentShader,
            vtkAbstractMapper *mapper, vtkProp *prop) override;
        
        Pre replace shader values
        """
        return False

    def ReleaseGraphicsResources(self, w): # real signature unknown; restored from __doc__
        """
        ReleaseGraphicsResources(self, w:vtkWindow) -> None
        C++: void ReleaseGraphicsResources(vtkWindow *w) override;
        
        Release graphics resources and ask components to release their
        own resources.
        """
        pass

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkSSAOPass
        C++: static vtkSSAOPass *SafeDownCast(vtkObjectBase *o)
        """
        return vtkSSAOPass

    def SetBias(self, _arg): # real signature unknown; restored from __doc__
        """
        SetBias(self, _arg:float) -> None
        C++: virtual void SetBias(double _arg)
        """
        pass

    def SetBlur(self, _arg): # real signature unknown; restored from __doc__
        """
        SetBlur(self, _arg:bool) -> None
        C++: virtual void SetBlur(bool _arg)
        """
        pass

    def SetKernelSize(self, _arg): # real signature unknown; restored from __doc__
        """
        SetKernelSize(self, _arg:int) -> None
        C++: virtual void SetKernelSize(unsigned int _arg)
        """
        pass

    def SetRadius(self, _arg): # real signature unknown; restored from __doc__
        """
        SetRadius(self, _arg:float) -> None
        C++: virtual void SetRadius(double _arg)
        """
        pass

    def SetShaderParameters(self, program, mapper, prop, VAO, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        SetShaderParameters(self, program:vtkShaderProgram,
            mapper:vtkAbstractMapper, prop:vtkProp,
            VAO:vtkOpenGLVertexArrayObject=...) -> bool
        C++: bool SetShaderParameters(vtkShaderProgram *program,
            vtkAbstractMapper *mapper, vtkProp *prop,
            vtkOpenGLVertexArrayObject *VAO=nullptr) override;
        
        Set shader parameters. Set the draw buffers depending on the
        mapper.
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is "mappingproxy({'__vtkname__': 'vtkSSAOPass', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'ReleaseGraphicsResources': <method 'ReleaseGraphicsResources' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'PreReplaceShaderValues': <method 'PreReplaceShaderValues' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'PostReplaceShaderValues': <method 'PostReplaceShaderValues' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SetShaderParameters': <method 'SetShaderParameters' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetRadius': <method 'GetRadius' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SetRadius': <method 'SetRadius' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetKernelSize': <method 'GetKernelSize' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SetKernelSize': <method 'SetKernelSize' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetKernelSizeMinValue': <method 'GetKernelSizeMinValue' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetKernelSizeMaxValue': <method 'GetKernelSizeMaxValue' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetBias': <method 'GetBias' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SetBias': <method 'SetBias' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'GetBlur': <method 'GetBlur' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'SetBlur': <method 'SetBlur' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'BlurOn': <method 'BlurOn' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, 'BlurOff': <method 'BlurOff' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF820603860>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkRenderingOpenGL2.vtkSSAOPass' objects>, '__doc__': 'vtkSSAOPass - Implement a screen-space ambient occlusion pass.\\n\\nSuperclass: vtkImageProcessingPass\\n\\nSSAO darkens some pixels to improve depth perception simulating\\nambient occlusion in screen space. For each fragment, random samples\\ninside a hemisphere at the fragment position oriented with the normal\\nare tested against other fragments to compute an average occlusion.\\nThe number of samples and the radius of the hemisphere are\\nconfigurables.\\n\\n@sa\\nvtkRenderPass\\n\\n'})"
    __vtkname__ = 'vtkSSAOPass'


