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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkAbstractCellLinks(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkAbstractCellLinks - an abstract base class for classes that build
    topological links from points to cells
    
    Superclass: vtkObject
    
    vtkAbstractCellLinks is a family of supplemental objects to
    vtkCellArray and vtkCellTypes, enabling fast access from points to
    the cells using the points. vtkAbstractCellLinks is an array of
    links, each link representing a list of cell ids using a particular
    point. The information provided by this object can be used to
    determine neighbors and construct other local topological
    information.
    
    @sa
    vtkCellLinks vtkStaticCellLinks vtkStaticCellLinksTemplate
    """
    def BuildLinks(self, vtkDataSet):
        """
        V.BuildLinks(vtkDataSet)
        C++: virtual void BuildLinks(vtkDataSet *data)
        
        Build the link list array. All subclasses must implement this
        method.
        """
        ...
    
    def ComputeType(self, p_int, p_int_1, vtkCellArray):
        """
        V.ComputeType(int, int, vtkCellArray) -> int
        C++: static int ComputeType(vtkIdType maxPtId,
            vtkIdType maxCellId, vtkCellArray *ca)
        
        Based on the input (i.e., number of points, number of cells, and
        length of connectivity array) this helper method returns the
        integral type to use when instantiating cell link-related classes
        in order to properly represent the data.  The return value is one
        of the types defined in the enum CellLinksType enum defined
        previously. Subclasses may choose to instantiate themselves with
        different integral types for performance and/or memory reasons.
        This method is useful when instantiating a
        vtkStaticCellLinksTemplate; when instantiating a vtkCellLinks the
        class is hardwired for vtkIdType.
        """
        ...
    
    def DeepCopy(self, vtkAbstractCellLinks):
        """
        V.DeepCopy(vtkAbstractCellLinks)
        C++: virtual void DeepCopy(vtkAbstractCellLinks *src)
        
        Standard DeepCopy method.  Since this object contains no
        reference to other objects, there is no ShallowCopy.
        """
        ...
    
    def GetActualMemorySize(self):
        """
        V.GetActualMemorySize() -> int
        C++: virtual unsigned long GetActualMemorySize()
        
        Return the memory in kibibytes (1024 bytes) consumed by this cell
        links array. Used to support streaming and reading/writing data.
        The value returned is guaranteed to be greater than or equal to
        the memory required to actually represent the data represented by
        this object. The information returned is valid only after the
        pipeline has been updated.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard type and print methods.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard type and print methods.
        """
        ...
    
    def GetSequentialProcessing(self):
        """
        V.GetSequentialProcessing() -> bool
        C++: virtual bool GetSequentialProcessing()
        
        Force sequential processing (i.e. single thread) of the link
        building process. By default, sequential processing is off. Note
        this flag only applies if the class has been compiled with
        VTK_SMP_IMPLEMENTATION_TYPE set to something other than
        Sequential. (If set to Sequential, then the filter always runs in
        serial mode.) This flag is typically used for benchmarking
        purposes.
        """
        ...
    
    def GetType(self):
        """
        V.GetType() -> int
        C++: int GetType()
        
        Return the type of locator (see enum above).
        """
        ...
    
    def Initialize(self):
        """
        V.Initialize()
        C++: virtual void Initialize()
        
        Release memory and revert to empty state.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard type and print methods.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard type and print methods.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkAbstractCellLinks
        C++: vtkAbstractCellLinks *NewInstance()
        
        Standard type and print methods.
        """
        ...
    
    def Reset(self):
        """
        V.Reset()
        C++: virtual void Reset()
        
        Reset to a state of no entries without freeing the memory.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkAbstractCellLinks
        C++: static vtkAbstractCellLinks *SafeDownCast(vtkObjectBase *o)
        
        Standard type and print methods.
        """
        ...
    
    def SequentialProcessingOff(self):
        """
        V.SequentialProcessingOff()
        C++: virtual void SequentialProcessingOff()
        
        Force sequential processing (i.e. single thread) of the link
        building process. By default, sequential processing is off. Note
        this flag only applies if the class has been compiled with
        VTK_SMP_IMPLEMENTATION_TYPE set to something other than
        Sequential. (If set to Sequential, then the filter always runs in
        serial mode.) This flag is typically used for benchmarking
        purposes.
        """
        ...
    
    def SequentialProcessingOn(self):
        """
        V.SequentialProcessingOn()
        C++: virtual void SequentialProcessingOn()
        
        Force sequential processing (i.e. single thread) of the link
        building process. By default, sequential processing is off. Note
        this flag only applies if the class has been compiled with
        VTK_SMP_IMPLEMENTATION_TYPE set to something other than
        Sequential. (If set to Sequential, then the filter always runs in
        serial mode.) This flag is typically used for benchmarking
        purposes.
        """
        ...
    
    def SetSequentialProcessing(self, bool):
        """
        V.SetSequentialProcessing(bool)
        C++: virtual void SetSequentialProcessing(bool _arg)
        
        Force sequential processing (i.e. single thread) of the link
        building process. By default, sequential processing is off. Note
        this flag only applies if the class has been compiled with
        VTK_SMP_IMPLEMENTATION_TYPE set to something other than
        Sequential. (If set to Sequential, then the filter always runs in
        serial mode.) This flag is typically used for benchmarking
        purposes.
        """
        ...
    
    def Squeeze(self):
        """
        V.Squeeze()
        C++: virtual void Squeeze()
        
        Reclaim any unused memory.
        """
        ...
    
    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__ = ...
    CellLinksTypes = ...
    CELL_LINKS = ...
    LINKS_NOT_DEFINED = ...
    STATIC_CELL_LINKS_IDTYPE = ...
    STATIC_CELL_LINKS_SPECIALIZED = ...
    STATIC_CELL_LINKS_UINT = ...
    STATIC_CELL_LINKS_USHORT = ...
    __dict__ = ...
    __vtkname__ = ...


