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

from .object import object

class vtkBlockDistribution(object):
    """
    vtkBlockDistribution - A helper class that manages a block
    distribution of N elements of data.
    
    vtkBlockDistribution(vtkIdType N, vtkIdType P)
    vtkBlockDistribution(const &vtkBlockDistribution)
    """
    def GetBlockSize(self, p_int):
        """
        V.GetBlockSize(int) -> int
        C++: vtkIdType GetBlockSize(vtkIdType rank)
        
        Get the block size for the processor with the given rank. This is
        the number of elements that the processor will store.
        """
        ...
    
    def GetFirstGlobalIndexOnProcessor(self, p_int):
        """
        V.GetFirstGlobalIndexOnProcessor(int) -> int
        C++: vtkIdType GetFirstGlobalIndexOnProcessor(vtkIdType rank)
        
        Retrieve the first global index stored on the processor with the
        given rank.
        """
        ...
    
    def GetGlobalIndex(self, p_int, p_int_1):
        """
        V.GetGlobalIndex(int, int) -> int
        C++: vtkIdType GetGlobalIndex(vtkIdType localIndex,
            vtkIdType rank)
        
        Retrieve the global index associated with the given local index
        on the processor with the given rank.
        """
        ...
    
    def GetLocalIndexOfElement(self, p_int):
        """
        V.GetLocalIndexOfElement(int) -> int
        C++: vtkIdType GetLocalIndexOfElement(vtkIdType globalIndex)
        
        Retrieve the local index (offset) on the processor determined by
        GetProcessorOfElement that refers to the given global index.
        """
        ...
    
    def GetNumElements(self):
        """
        V.GetNumElements() -> int
        C++: vtkIdType GetNumElements()
        
        Retrieves the number of elements for which this block
        distribution was built.
        """
        ...
    
    def GetNumProcessors(self):
        """
        V.GetNumProcessors() -> int
        C++: vtkIdType GetNumProcessors()
        
        Retrieves the number of processors for which this block
        distribution was built.
        """
        ...
    
    def GetProcessorOfElement(self, p_int):
        """
        V.GetProcessorOfElement(int) -> int
        C++: vtkIdType GetProcessorOfElement(vtkIdType globalIndex)
        
        Retrieve the process number in [0, GetNumProcessors()) where the
        element with the given global index will be located.
        """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __hash__(self, *args, **kwargs) -> int:
        """ Return hash(self). """
        ...
    
    def __init__(self, vtkIdType_N, vtkIdType_P) -> 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). """
        ...
    


