# 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


class vtkDataTransferHelper(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkDataTransferHelper - is a helper class that aids in transferring
     data between CPU memory and GPU memory.
    
    Superclass: vtkObject
    
    vtkDataTransferHelper is a helper class that aids in transferring
    data
     between the CPU memory and the GPU memory. The data in GPU memory is
     stored as textures which that in CPU memory is stored as
    vtkDataArray.
     vtkDataTransferHelper provides API to transfer only a sub-extent of
    CPU
     structured data to/from the GPU.
    
    @sa
     vtkPixelBufferObject vtkTextureObject vtkOpenGLExtensionManager
    """
    def Download(self): # real signature unknown; restored from __doc__
        """
        Download(self) -> bool
        C++: bool Download()
        
        old comment: Download Extent from GPU data buffer to CPU. GPU
        data size must exactly match Extent. CPU data buffer will be
        resized to match WholeExtent in which only the Extent will be
        filled with the GPU data. new comment: Download GPUExtent from
        GPU texture to CPU vtkDataArray. If Array is not provided, it
        will be created with the size of CPUExtent. But only the tuples
        covered by GPUExtent will be download. In this case, if GPUExtent
        does not cover all GPUExtent, some of the vtkDataArray will be
        uninitialized. Reminder: A=>B <=> !A||B
        \pre texture_exists: texture!=0
        \pre array_not_empty: array==0 || array->GetNumberOfTuples()>0
        \pre valid_cpu_extent: this->GetCPUExtentIsValid()
        \pre valid_cpu_extent_size: array==0 ||
        (CPUExtent[1]-CPUExtent[0]+1)*(CPUExtent[3]-CPUExtent[2]+1)*(CPUEx
        tent[5]-CPUExtent[4]+1)==array->GetNumberOfTuples()
        \pre valid_gpu_extent: this->GetGPUExtentIsValid()
        \pre gpu_extent_in_cpu_extent: CPUExtent[0]<=GPUExtent[0] &&
            GPUExtent[1]<=CPUExtent[1] &&
        CPUExtent[2]<=GPUExtent[2] && GPUExtent[3]<=CPUExtent[3] &&
        CPUExtent[4]<=GPUExtent[4] && GPUExtent[5]<=CPUExtent[5] \pre
        gpu_texture_size: !this->GetTextureExtentIsValid() ||
        (GPUExtent[1]-GPUExtent[0]+1)*(GPUExtent[3]-GPUExtent[2]+1)*(GPUEx
        tent[5]-GPUExtent[4]+1)==(TextureExtent[1]-TextureExtent[0]+1)*(Te
        xtureExtent[3]-TextureExtent[2]+1)*(TextureExtent[5]-TextureExtent
        [4]+1)
        \pre valid_components: array==0 ||
            array->GetNumberOfComponents()<=4
        \pre components_match: array==0 ||
            (texture->GetComponents()==array->GetNumberOfComponents())
        """
        return False

    def DownloadAsync1(self): # real signature unknown; restored from __doc__
        """
        DownloadAsync1(self) -> bool
        C++: bool DownloadAsync1()
        
        Splits the download in two operations
        * Asynchronously download from texture memory to PBO
          (DownloadAsync1()).
        * Copy from pbo to user array (DownloadAsync2()).
        """
        return False

    def DownloadAsync2(self): # real signature unknown; restored from __doc__
        """
        DownloadAsync2(self) -> bool
        C++: bool DownloadAsync2()
        """
        return False

    def GetArray(self): # real signature unknown; restored from __doc__
        """
        GetArray(self) -> vtkDataArray
        C++: virtual vtkDataArray *GetArray()
        
        Get/Set the CPU data buffer. Initial value is 0.
        """
        pass

    def GetContext(self): # real signature unknown; restored from __doc__
        """
        GetContext(self) -> vtkRenderWindow
        C++: vtkRenderWindow *GetContext()
        """
        pass

    def GetCPUExtent(self): # real signature unknown; restored from __doc__
        """
        GetCPUExtent(self) -> (int, int, int, int, int, int)
        C++: virtual int *GetCPUExtent()
        """
        pass

    def GetCPUExtentIsValid(self): # real signature unknown; restored from __doc__
        """
        GetCPUExtentIsValid(self) -> bool
        C++: bool GetCPUExtentIsValid()
        
        Tells if CPUExtent is valid. True if min extent<=max extent.
        """
        return False

    def GetExtentIsValid(self, extent, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        GetExtentIsValid(self, extent:[int, ...]) -> bool
        C++: bool GetExtentIsValid(int *extent)
        
        Tells if the given extent (6 int) is valid. True if min
        extent<=max extent.
        \pre extent_exists: extent!=0
        """
        pass

    def GetGPUExtent(self): # real signature unknown; restored from __doc__
        """
        GetGPUExtent(self) -> (int, int, int, int, int, int)
        C++: virtual int *GetGPUExtent()
        """
        pass

    def GetGPUExtentIsValid(self): # real signature unknown; restored from __doc__
        """
        GetGPUExtentIsValid(self) -> bool
        C++: bool GetGPUExtentIsValid()
        
        Tells if GPUExtent is valid. True if min extent<=max extent.
        """
        return False

    def GetMinTextureDimension(self): # real signature unknown; restored from __doc__
        """
        GetMinTextureDimension(self) -> int
        C++: virtual int GetMinTextureDimension()
        """
        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 GetShaderSupportsTextureInt(self): # real signature unknown; restored from __doc__
        """
        GetShaderSupportsTextureInt(self) -> bool
        C++: bool GetShaderSupportsTextureInt()
        """
        return False

    def GetTexture(self): # real signature unknown; restored from __doc__
        """
        GetTexture(self) -> vtkTextureObject
        C++: virtual vtkTextureObject *GetTexture()
        
        Get/Set the GPU data buffer. Initial value is 0.
        """
        return vtkTextureObject

    def GetTextureExtent(self): # real signature unknown; restored from __doc__
        """
        GetTextureExtent(self) -> (int, int, int, int, int, int)
        C++: virtual int *GetTextureExtent()
        """
        pass

    def GetTextureExtentIsValid(self): # real signature unknown; restored from __doc__
        """
        GetTextureExtentIsValid(self) -> bool
        C++: bool GetTextureExtentIsValid()
        
        Tells if TextureExtent is valid. True if min extent<=max extent.
        """
        return False

    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 IsSupported(self, renWin): # real signature unknown; restored from __doc__
        """
        IsSupported(renWin:vtkRenderWindow) -> bool
        C++: static bool IsSupported(vtkRenderWindow *renWin)
        
        Returns if the context supports the required extensions.
        """
        return False

    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) -> vtkDataTransferHelper
        C++: vtkDataTransferHelper *NewInstance()
        """
        return vtkDataTransferHelper

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkDataTransferHelper
        C++: static vtkDataTransferHelper *SafeDownCast(vtkObjectBase *o)
        """
        return vtkDataTransferHelper

    def SetArray(self, array): # real signature unknown; restored from __doc__
        """
        SetArray(self, array:vtkDataArray) -> None
        C++: void SetArray(vtkDataArray *array)
        """
        pass

    def SetContext(self, context): # real signature unknown; restored from __doc__
        """
        SetContext(self, context:vtkRenderWindow) -> None
        C++: void SetContext(vtkRenderWindow *context)
        
        Get/Set the context. Context must be a vtkOpenGLRenderWindow.
        This does not increase the reference count of the context to
        avoid reference loops. SetContext() may raise an error if the
        OpenGL context does not support the required OpenGL extensions.
        """
        pass

    def SetCPUExtent(self, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6): # real signature unknown; restored from __doc__
        """
        SetCPUExtent(self, _arg1:int, _arg2:int, _arg3:int, _arg4:int,
            _arg5:int, _arg6:int) -> None
        C++: virtual void SetCPUExtent(int _arg1, int _arg2, int _arg3,
            int _arg4, int _arg5, int _arg6)
        SetCPUExtent(self, _arg:(int, int, int, int, int, int)) -> None
        C++: virtual void SetCPUExtent(const int _arg[6])
        
        Set the CPU data extent. The extent matches the vtkDataArray
        size. If the vtkDataArray comes from an vtkImageData and it is
        part of the point data, it is usually the vtkImageData extent. It
        can be on cell data too, but in this case it does not match the
        vtkImageData extent. If the vtkDataArray comes from a vtkDataSet,
        just set it to a one-dimenstional extent equal to the number of
        tuples. Initial value is (0,0,0,0,0,0), a valid one tuple array.
        """
        pass

    def SetGPUExtent(self, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6): # real signature unknown; restored from __doc__
        """
        SetGPUExtent(self, _arg1:int, _arg2:int, _arg3:int, _arg4:int,
            _arg5:int, _arg6:int) -> None
        C++: virtual void SetGPUExtent(int _arg1, int _arg2, int _arg3,
            int _arg4, int _arg5, int _arg6)
        SetGPUExtent(self, _arg:(int, int, int, int, int, int)) -> None
        C++: virtual void SetGPUExtent(const int _arg[6])
        
        Set the GPU data extent. This is the sub-extent to copy from or
        to the GPU. This extent matches the size of the data to transfer.
        GPUExtent and TextureExtent don't have to match (GPUExtent can be
        1D whereas TextureExtent is 2D) but the number of elements have
        to match. Initial value is (0,0,0,0,0,0), a valid one tuple
        array.
        """
        pass

    def SetMinTextureDimension(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMinTextureDimension(self, _arg:int) -> None
        C++: virtual void SetMinTextureDimension(int _arg)
        
        Define the minimal dimension of the texture regardless of the
        dimensions of the TextureExtent. Initial value is 1. A texture
        extent can have a given dimension 0D (one value), 1D, 2D or 3D.
        By default 0D and 1D are translated into a 1D texture, 2D is
        translated into a 2D texture, 3D is translated into a 3D texture.
        To make life easier when writing GLSL code and use only one type
        of sampler (ex: sampler2d), the default behavior can be changed
        by forcing a type of texture with this ivar. 1: default behavior.
        Initial value. 2: force 0D and 1D to be in a 2D texture 3: force
        0D, 1D and 2D texture to be in a 3D texture.
        """
        pass

    def SetShaderSupportsTextureInt(self, value): # real signature unknown; restored from __doc__
        """
        SetShaderSupportsTextureInt(self, value:bool) -> None
        C++: void SetShaderSupportsTextureInt(bool value)
        """
        pass

    def SetTexture(self, texture): # real signature unknown; restored from __doc__
        """
        SetTexture(self, texture:vtkTextureObject) -> None
        C++: void SetTexture(vtkTextureObject *texture)
        """
        pass

    def SetTextureExtent(self, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6): # real signature unknown; restored from __doc__
        """
        SetTextureExtent(self, _arg1:int, _arg2:int, _arg3:int, _arg4:int,
             _arg5:int, _arg6:int) -> None
        C++: virtual void SetTextureExtent(int _arg1, int _arg2,
            int _arg3, int _arg4, int _arg5, int _arg6)
        SetTextureExtent(self, _arg:(int, int, int, int, int, int))
            -> None
        C++: virtual void SetTextureExtent(const int _arg[6])
        
        Set the texture data extent. This is the extent of the texture
        image that will receive the data. This extent matches the size of
        the data to transfer. If it is set to an invalid extent,
        GPUExtent is used. See more comment on GPUExtent. Initial value
        is an invalid extent.
        """
        pass

    def Upload(self, components=0, componentList, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        Upload(self, components:int=0, componentList:[int, ...]=...)
            -> bool
        C++: bool Upload(int components=0, int *componentList=nullptr)
        
        Old comment. Upload Extent from CPU data buffer to GPU. The
        WholeExtent must match the Array size. New comment. Upload
        GPUExtent from CPU vtkDataArray to GPU texture. It is possible to
        send a subset of the components or to specify and order of
        components or both. If components=0, componentList is ignored and
        all components are passed, a texture cannot have more than 4
        components.
        \pre array_exists: array!=0
        \pre array_not_empty: array->GetNumberOfTuples()>0
        \pre valid_cpu_extent: this->GetCPUExtentIsValid()
        \pre valid_cpu_extent_size:
        (CPUExtent[1]-CPUExtent[0]+1)*(CPUExtent[3]-CPUExtent[2]+1)*(CPUEx
        tent[5]-CPUExtent[4]+1)==array->GetNumberOfTuples()
        \pre valid_gpu_extent: this->GetGPUExtentIsValid()
        \pre gpu_extent_in_cpu_extent: CPUExtent[0]<=GPUExtent[0] &&
            GPUExtent[1]<=CPUExtent[1] &&
        CPUExtent[2]<=GPUExtent[2] && GPUExtent[3]<=CPUExtent[3] &&
        CPUExtent[4]<=GPUExtent[4] && GPUExtent[5]<=CPUExtent[5] \pre
        gpu_texture_size: !this->GetTextureExtentIsValid() ||
        (GPUExtent[1]-GPUExtent[0]+1)*(GPUExtent[3]-GPUExtent[2]+1)*(GPUEx
        tent[5]-GPUExtent[4]+1)==(TextureExtent[1]-TextureExtent[0]+1)*(Te
        xtureExtent[3]-TextureExtent[2]+1)*(TextureExtent[5]-TextureExtent
        [4]+1)
        \pre texture_can_exist_or_not: texture==0 || texture!=0
        \pre valid_components: (components==0 && componentList==0 &&
            array->GetNumberOfComponents()<=4)
        || (components>=1 && components<=array->GetNumberOfComponents()
        && components<=4 && componentList!=0)
        """
        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__': 'vtkDataTransferHelper', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetContext': <method 'SetContext' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetContext': <method 'GetContext' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetCPUExtent': <method 'SetCPUExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetCPUExtent': <method 'GetCPUExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetGPUExtent': <method 'SetGPUExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetGPUExtent': <method 'GetGPUExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetTextureExtent': <method 'SetTextureExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetTextureExtent': <method 'GetTextureExtent' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetExtentIsValid': <method 'GetExtentIsValid' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetCPUExtentIsValid': <method 'GetCPUExtentIsValid' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetGPUExtentIsValid': <method 'GetGPUExtentIsValid' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetTextureExtentIsValid': <method 'GetTextureExtentIsValid' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetMinTextureDimension': <method 'SetMinTextureDimension' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetMinTextureDimension': <method 'GetMinTextureDimension' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetArray': <method 'GetArray' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetArray': <method 'SetArray' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetTexture': <method 'GetTexture' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetTexture': <method 'SetTexture' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'Upload': <method 'Upload' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'Download': <method 'Download' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'DownloadAsync1': <method 'DownloadAsync1' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'DownloadAsync2': <method 'DownloadAsync2' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'GetShaderSupportsTextureInt': <method 'GetShaderSupportsTextureInt' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'SetShaderSupportsTextureInt': <method 'SetShaderSupportsTextureInt' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, 'IsSupported': <method 'IsSupported' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF8205EF390>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkRenderingOpenGL2.vtkDataTransferHelper' objects>, '__doc__': 'vtkDataTransferHelper - is a helper class that aids in transferring\\n data between CPU memory and GPU memory.\\n\\nSuperclass: vtkObject\\n\\nvtkDataTransferHelper is a helper class that aids in transferring\\ndata\\n between the CPU memory and the GPU memory. The data in GPU memory is\\n stored as textures which that in CPU memory is stored as\\nvtkDataArray.\\n vtkDataTransferHelper provides API to transfer only a sub-extent of\\nCPU\\n structured data to/from the GPU.\\n\\n@sa\\n vtkPixelBufferObject vtkTextureObject vtkOpenGLExtensionManager\\n\\n'})"
    __vtkname__ = 'vtkDataTransferHelper'


