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

from .vtkAbstractCellLinks import vtkAbstractCellLinks

class vtkCellLinks(vtkAbstractCellLinks):
    """
    vtkCellLinks - object represents upward pointers from points to list
    of cells using each point
    
    Superclass: vtkAbstractCellLinks
    
    vtkCellLinks is a supplemental object to vtkCellArray and
    vtkCellTypes, enabling access from points to the cells using the
    points. vtkCellLinks is a list of cell ids, each such link
    representing a dynamic list of cell ids using the point. The
    information provided by this object can be used to determine
    neighbors and construct other local topological information.
    
    @warning
    vtkCellLinks supports incremental (i.e., "editable") operations such
    as inserting a new cell, or deleting a point. Because of this, it is
    less memory efficient, and slower to construct and delete than static
    classes such as vtkStaticCellLinks or vtkStaticCellLinksTemplate.
    However these other classes are typically meant for one-time (static)
    construction.
    
    @sa
    vtkCellArray vtkCellTypes vtkStaticCellLinks
    vtkStaticCellLinksTemplate
    """
    def AddCellReference(self, p_int, p_int_1):
        """
        V.AddCellReference(int, int)
        C++: void AddCellReference(vtkIdType cellId, vtkIdType ptId)
        
        Add the reference to the cell (cellId) from the point (ptId).
        This adds a reference to the cellId from the cell list, but does
        not resize the list (extend memory with ResizeCellList(), if
        necessary).
        """
        ...
    
    def Allocate(self, p_int, p_int_1):
        """
        V.Allocate(int, int)
        C++: void Allocate(vtkIdType numLinks, vtkIdType ext=1000)
        
        Allocate the specified number of links (i.e., number of points)
        that will be built.
        """
        ...
    
    def BuildLinks(self, vtkDataSet):
        """
        V.BuildLinks(vtkDataSet)
        C++: void BuildLinks(vtkDataSet *data) override;
        
        Build the link list array. All subclasses of vtkAbstractCellLinks
        must support this method.
        """
        ...
    
    def DeepCopy(self, vtkAbstractCellLinks):
        """
        V.DeepCopy(vtkAbstractCellLinks)
        C++: void DeepCopy(vtkAbstractCellLinks *src) override;
        
        Standard DeepCopy method.  Since this object contains no
        reference to other objects, there is no ShallowCopy.
        """
        ...
    
    def DeletePoint(self, p_int):
        """
        V.DeletePoint(int)
        C++: void DeletePoint(vtkIdType ptId)
        
        Delete point (and storage) by destroying links to using cells.
        """
        ...
    
    def GetActualMemorySize(self):
        """
        V.GetActualMemorySize() -> int
        C++: unsigned long GetActualMemorySize() override;
        
        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 GetCells(self, p_int):
        """
        V.GetCells(int) -> (int, ...)
        C++: vtkIdType *GetCells(vtkIdType ptId)
        
        Return a list of cell ids using the point.
        """
        ...
    
    def GetNcells(self, p_int):
        """
        V.GetNcells(int) -> int
        C++: vtkIdType GetNcells(vtkIdType ptId)
        
        Get the number of cells using the point specified by ptId.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def Initialize(self):
        """
        V.Initialize()
        C++: void Initialize() override;
        
        Clear out any previously allocated data structures
        """
        ...
    
    def InsertNextCellReference(self, p_int, p_int_1):
        """
        V.InsertNextCellReference(int, int)
        C++: void InsertNextCellReference(vtkIdType ptId,
            vtkIdType cellId)
        
        Insert a cell id into the list of cells (at the end) using the
        cell id provided. (Make sure to extend the link list (if
        necessary) using the method ResizeCellList().)
        """
        ...
    
    def InsertNextPoint(self, p_int):
        """
        V.InsertNextPoint(int) -> int
        C++: vtkIdType InsertNextPoint(int numLinks)
        
        Insert a new point into the cell-links data structure. The size
        parameter is the initial size of the list.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkCellLinks
        C++: vtkCellLinks *NewInstance()
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def RemoveCellReference(self, p_int, p_int_1):
        """
        V.RemoveCellReference(int, int)
        C++: void RemoveCellReference(vtkIdType cellId, vtkIdType ptId)
        
        Delete the reference to the cell (cellId) from the point (ptId).
        This removes the reference to the cellId from the cell list, but
        does not resize the list (recover memory with ResizeCellList(),
        if necessary).
        """
        ...
    
    def Reset(self):
        """
        V.Reset()
        C++: void Reset() override;
        
        Reset to a state of no entries without freeing the memory.
        """
        ...
    
    def ResizeCellList(self, p_int, p_int_1):
        """
        V.ResizeCellList(int, int)
        C++: void ResizeCellList(vtkIdType ptId, int size)
        
        Change the length of a point's link list (i.e., list of cells
        using a point) by the size specified.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkCellLinks
        C++: static vtkCellLinks *SafeDownCast(vtkObjectBase *o)
        
        Standard methods to instantiate, print, and obtain type
        information.
        """
        ...
    
    def Squeeze(self):
        """
        V.Squeeze()
        C++: void Squeeze() override;
        
        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__ = ...
    __dict__ = ...
    __vtkname__ = ...


