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

from .object import object

class vtkRenderState(object):
    """
    vtkRenderState - Context in which a vtkRenderPass will render.
    
    vtkRenderState is a ligthweight effective class which gather
    information used by a vtkRenderPass to perform its
    execution.@attention Get methods are const to enforce that a
    renderpass cannot modify the RenderPass object. It works in
    conjunction with vtkRenderPass::Render where the argument
    vtkRenderState is const.
    @sa
    vtkRenderPass vtkRenderer vtkFrameBufferObject vtkProp
    
    vtkRenderState(vtkRenderer *renderer)
    """
    def GetFrameBuffer(self):
        """
        V.GetFrameBuffer() -> vtkFrameBufferObjectBase
        C++: vtkFrameBufferObjectBase *GetFrameBuffer()
        
        Return the FrameBuffer. This is the framebuffer in use. NULL
        means it is the FrameBuffer provided by the RenderWindow (it can
        actually be an FBO in case the RenderWindow is in off screen
        mode).
        """
        ...
    
    def GetPropArrayCount(self):
        """
        V.GetPropArrayCount() -> int
        C++: int GetPropArrayCount()
        
        Return the size of the array of filtered props. See
        SetPropArrayAndCount().
        \post positive_result: result>=0
        """
        ...
    
    def GetRenderer(self):
        """
        V.GetRenderer() -> vtkRenderer
        C++: vtkRenderer *GetRenderer()
        
        Return the Renderer. This is the renderer in which the render
        pass is performed. It gives access to the RenderWindow, to the
        props.
        \post result_exists: result!=0
        """
        ...
    
    def GetRequiredKeys(self):
        """
        V.GetRequiredKeys() -> vtkInformation
        C++: vtkInformation *GetRequiredKeys()
        
        Return the required property keys for the props. It tells that
        the current render pass it supposed to render only props that
        have all the RequiredKeys in their property keys.
        """
        ...
    
    def GetWindowSize(self, p_int=..., p_int=...):
        """
        V.GetWindowSize([int, int])
        C++: void GetWindowSize(int size[2])
        
        Get the window size of the state.
        """
        ...
    
    def IsValid(self):
        """
        V.IsValid() -> bool
        C++: bool IsValid()
        
        Tells if the RenderState is a valid one (Renderer is not null).
        """
        ...
    
    def SetFrameBuffer(self, vtkFrameBufferObjectBase):
        """
        V.SetFrameBuffer(vtkFrameBufferObjectBase)
        C++: void SetFrameBuffer(vtkFrameBufferObjectBase *fbo)
        
        Set the FrameBuffer. See GetFrameBuffer().
        \post is_set: GetFrameBuffer()==fbo
        """
        ...
    
    def SetRequiredKeys(self, vtkInformation):
        """
        V.SetRequiredKeys(vtkInformation)
        C++: void SetRequiredKeys(vtkInformation *keys)
        
        Set the required property keys for the props. See
        GetRequiredKeys().
        \post is_set: GetRequiredKeys()==keys
        """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __hash__(self, *args, **kwargs) -> int:
        """ Return hash(self). """
        ...
    
    def __init__(self, vtkRenderer, *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). """
        ...
    


