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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkGPUInfo(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkGPUInfo - Stores GPU VRAM information.
    
    Superclass: vtkObject
    
    vtkGPUInfo stores information about GPU Video RAM. An host can have
    several GPUs. The values are set by vtkGPUInfoList.
    @sa
    vtkGPUInfoList vtkDirectXGPUInfoList vtkCoreGraphicsGPUInfoList
    """
    def GetDedicatedSystemMemory(self):
        """
        V.GetDedicatedSystemMemory() -> int
        C++: virtual vtkTypeUInt64 GetDedicatedSystemMemory()
        
        Set/Get dedicated system memory in bytes. Initial value is 0.
        This is slow memory. If it is not 0, this value should be taken
        into account only if there is no DedicatedVideoMemory and
        SharedSystemMemory should be ignored.
        """
        ...
    
    def GetDedicatedVideoMemory(self):
        """
        V.GetDedicatedVideoMemory() -> int
        C++: virtual vtkTypeUInt64 GetDedicatedVideoMemory()
        
        Set/Get dedicated video memory in bytes. Initial value is 0.
        Usually the fastest one. If it is not 0, it should be taken into
        account first and DedicatedSystemMemory or SharedSystemMemory
        should be ignored.
        """
        ...
    
    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 GetSharedSystemMemory(self):
        """
        V.GetSharedSystemMemory() -> int
        C++: virtual vtkTypeUInt64 GetSharedSystemMemory()
        
        Set/Get shared system memory in bytes. Initial value is 0.
        Slowest memory. This value should be taken into account only if
        there is neither DedicatedVideoMemory nor DedicatedSystemMemory.
        """
        ...
    
    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() -> vtkGPUInfo
        C++: vtkGPUInfo *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkGPUInfo
        C++: static vtkGPUInfo *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetDedicatedSystemMemory(self, p_int):
        """
        V.SetDedicatedSystemMemory(int)
        C++: virtual void SetDedicatedSystemMemory(vtkTypeUInt64 _arg)
        
        Set/Get dedicated system memory in bytes. Initial value is 0.
        This is slow memory. If it is not 0, this value should be taken
        into account only if there is no DedicatedVideoMemory and
        SharedSystemMemory should be ignored.
        """
        ...
    
    def SetDedicatedVideoMemory(self, p_int):
        """
        V.SetDedicatedVideoMemory(int)
        C++: virtual void SetDedicatedVideoMemory(vtkTypeUInt64 _arg)
        
        Set/Get dedicated video memory in bytes. Initial value is 0.
        Usually the fastest one. If it is not 0, it should be taken into
        account first and DedicatedSystemMemory or SharedSystemMemory
        should be ignored.
        """
        ...
    
    def SetSharedSystemMemory(self, p_int):
        """
        V.SetSharedSystemMemory(int)
        C++: virtual void SetSharedSystemMemory(vtkTypeUInt64 _arg)
        
        Set/Get shared system memory in bytes. Initial value is 0.
        Slowest memory. This value should be taken into account only if
        there is neither DedicatedVideoMemory nor DedicatedSystemMemory.
        """
        ...
    
    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__ = ...
    __dict__ = ...
    __vtkname__ = ...


