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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkMergeCells(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkMergeCells - merges any number of vtkDataSets back into a single
      vtkUnstructuredGrid
    
    Superclass: vtkObject
    
    Designed to work with distributed vtkDataSets, this class will take
       vtkDataSets and merge them back into a single vtkUnstructuredGrid.
    
    
       The vtkPoints object of the unstructured grid will have data type
       VTK_FLOAT if input is not of type vtkPointSet, otherwise it will
    have same
       data type than the input point set.
    
    
       It is assumed the different DataSets have the same field arrays. 
    If
       the name of a global point ID array is provided, this class will
       refrain from including duplicate points in the merged Ugrid.  This
       class differs from vtkAppendFilter in these ways: (1) it uses less
       memory than that class (which uses memory equal to twice the size
       of the final Ugrid) but requires that you know the size of the
       final Ugrid in advance (2) this class assumes the individual
    DataSets have
       the same field arrays, while vtkAppendFilter intersects the field
       arrays (3) this class knows duplicate points may be appearing in
       the DataSets and can filter those out, (4) this class is not a
    filter.
    """
    def Finish(self):
        """
        V.Finish()
        C++: void Finish()
        
        Call Finish() after merging last DataSet to free unneeded memory
        and to make sure the ugrid's GetNumberOfPoints() reflects the
        actual number of points set, not the number allocated.
        """
        ...
    
    def GetMergeDuplicatePoints(self):
        """
        V.GetMergeDuplicatePoints() -> bool
        C++: virtual bool GetMergeDuplicatePoints()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If for some reason you don't want it to do this, than
        MergeDuplicatePointsOff().
        """
        ...
    
    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 GetPointMergeTolerance(self):
        """
        V.GetPointMergeTolerance() -> float
        C++: virtual float GetPointMergeTolerance()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If no global point ID field array name is provided,
        it will use a point locator to find duplicate points.  You can
        set a tolerance for that locator here.  The default tolerance is
        10e-4.
        """
        ...
    
    def GetPointMergeToleranceMaxValue(self):
        """
        V.GetPointMergeToleranceMaxValue() -> float
        C++: virtual float GetPointMergeToleranceMaxValue()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If no global point ID field array name is provided,
        it will use a point locator to find duplicate points.  You can
        set a tolerance for that locator here.  The default tolerance is
        10e-4.
        """
        ...
    
    def GetPointMergeToleranceMinValue(self):
        """
        V.GetPointMergeToleranceMinValue() -> float
        C++: virtual float GetPointMergeToleranceMinValue()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If no global point ID field array name is provided,
        it will use a point locator to find duplicate points.  You can
        set a tolerance for that locator here.  The default tolerance is
        10e-4.
        """
        ...
    
    def GetTotalNumberOfCells(self):
        """
        V.GetTotalNumberOfCells() -> int
        C++: virtual vtkIdType GetTotalNumberOfCells()
        
        Specify the total number of cells in the final
        vtkUnstructuredGrid. Make this call before any call to
        MergeDataSet().
        """
        ...
    
    def GetTotalNumberOfDataSets(self):
        """
        V.GetTotalNumberOfDataSets() -> int
        C++: virtual int GetTotalNumberOfDataSets()
        
        We need to know the number of different data sets that will be
        merged into one so we can pre-allocate some arrays. This can be
        an upper bound, not necessarily exact.
        """
        ...
    
    def GetTotalNumberOfPoints(self):
        """
        V.GetTotalNumberOfPoints() -> int
        C++: virtual vtkIdType GetTotalNumberOfPoints()
        
        Specify the total number of points in the final
        vtkUnstructuredGrid Make this call before any call to
        MergeDataSet().  This is an upper bound, since some points may be
        duplicates.
        """
        ...
    
    def GetUnstructuredGrid(self):
        """
        V.GetUnstructuredGrid() -> vtkUnstructuredGrid
        C++: virtual vtkUnstructuredGrid *GetUnstructuredGrid()
        
        Set the vtkUnstructuredGrid object that will become the union of
        the DataSets specified in MergeDataSet calls. vtkMergeCells
        assumes this grid is empty at first.
        """
        ...
    
    def GetUseGlobalCellIds(self):
        """
        V.GetUseGlobalCellIds() -> int
        C++: virtual int GetUseGlobalCellIds()
        
        vtkMergeCells will detect and filter out duplicate cells if you
        provide it the name of a global cell ID array.
        """
        ...
    
    def GetUseGlobalIds(self):
        """
        V.GetUseGlobalIds() -> int
        C++: virtual int GetUseGlobalIds()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  This is done most efficiently if a global point ID
        field array is available.  Set the name of the point array if you
        have one.
        """
        ...
    
    def InvalidateCachedLocator(self):
        """
        V.InvalidateCachedLocator()
        C++: void InvalidateCachedLocator()
        
        Clear the Locator and set it to nullptr.
        """
        ...
    
    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 MergeDataSet(self, vtkDataSet):
        """
        V.MergeDataSet(vtkDataSet) -> int
        C++: int MergeDataSet(vtkDataSet *set)
        
        Provide a DataSet to be merged in to the final UnstructuredGrid.
        This call returns after the merge has completed.  Be sure to call
        SetTotalNumberOfCells, SetTotalNumberOfPoints, and
        SetTotalNumberOfDataSets before making this call.  Return 0 if
        OK, -1 if error.
        """
        ...
    
    def MergeDuplicatePointsOff(self):
        """
        V.MergeDuplicatePointsOff()
        C++: virtual void MergeDuplicatePointsOff()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If for some reason you don't want it to do this, than
        MergeDuplicatePointsOff().
        """
        ...
    
    def MergeDuplicatePointsOn(self):
        """
        V.MergeDuplicatePointsOn()
        C++: virtual void MergeDuplicatePointsOn()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If for some reason you don't want it to do this, than
        MergeDuplicatePointsOff().
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkMergeCells
        C++: vtkMergeCells *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkMergeCells
        C++: static vtkMergeCells *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetMergeDuplicatePoints(self, bool):
        """
        V.SetMergeDuplicatePoints(bool)
        C++: virtual void SetMergeDuplicatePoints(bool _arg)
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If for some reason you don't want it to do this, than
        MergeDuplicatePointsOff().
        """
        ...
    
    def SetPointMergeTolerance(self, p_float):
        """
        V.SetPointMergeTolerance(float)
        C++: virtual void SetPointMergeTolerance(float _arg)
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  If no global point ID field array name is provided,
        it will use a point locator to find duplicate points.  You can
        set a tolerance for that locator here.  The default tolerance is
        10e-4.
        """
        ...
    
    def SetTotalNumberOfCells(self, p_int):
        """
        V.SetTotalNumberOfCells(int)
        C++: virtual void SetTotalNumberOfCells(vtkIdType _arg)
        
        Specify the total number of cells in the final
        vtkUnstructuredGrid. Make this call before any call to
        MergeDataSet().
        """
        ...
    
    def SetTotalNumberOfDataSets(self, p_int):
        """
        V.SetTotalNumberOfDataSets(int)
        C++: virtual void SetTotalNumberOfDataSets(int _arg)
        
        We need to know the number of different data sets that will be
        merged into one so we can pre-allocate some arrays. This can be
        an upper bound, not necessarily exact.
        """
        ...
    
    def SetTotalNumberOfPoints(self, p_int):
        """
        V.SetTotalNumberOfPoints(int)
        C++: virtual void SetTotalNumberOfPoints(vtkIdType _arg)
        
        Specify the total number of points in the final
        vtkUnstructuredGrid Make this call before any call to
        MergeDataSet().  This is an upper bound, since some points may be
        duplicates.
        """
        ...
    
    def SetUnstructuredGrid(self, vtkUnstructuredGrid):
        """
        V.SetUnstructuredGrid(vtkUnstructuredGrid)
        C++: virtual void SetUnstructuredGrid(vtkUnstructuredGrid *)
        
        Set the vtkUnstructuredGrid object that will become the union of
        the DataSets specified in MergeDataSet calls. vtkMergeCells
        assumes this grid is empty at first.
        """
        ...
    
    def SetUseGlobalCellIds(self, p_int):
        """
        V.SetUseGlobalCellIds(int)
        C++: virtual void SetUseGlobalCellIds(int _arg)
        
        vtkMergeCells will detect and filter out duplicate cells if you
        provide it the name of a global cell ID array.
        """
        ...
    
    def SetUseGlobalIds(self, p_int):
        """
        V.SetUseGlobalIds(int)
        C++: virtual void SetUseGlobalIds(int _arg)
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  This is done most efficiently if a global point ID
        field array is available.  Set the name of the point array if you
        have one.
        """
        ...
    
    def UseGlobalCellIdsOff(self):
        """
        V.UseGlobalCellIdsOff()
        C++: virtual void UseGlobalCellIdsOff()
        
        vtkMergeCells will detect and filter out duplicate cells if you
        provide it the name of a global cell ID array.
        """
        ...
    
    def UseGlobalCellIdsOn(self):
        """
        V.UseGlobalCellIdsOn()
        C++: virtual void UseGlobalCellIdsOn()
        
        vtkMergeCells will detect and filter out duplicate cells if you
        provide it the name of a global cell ID array.
        """
        ...
    
    def UseGlobalIdsOff(self):
        """
        V.UseGlobalIdsOff()
        C++: virtual void UseGlobalIdsOff()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  This is done most efficiently if a global point ID
        field array is available.  Set the name of the point array if you
        have one.
        """
        ...
    
    def UseGlobalIdsOn(self):
        """
        V.UseGlobalIdsOn()
        C++: virtual void UseGlobalIdsOn()
        
        vtkMergeCells attempts eliminate duplicate points when merging
        data sets.  This is done most efficiently if a global point ID
        field array is available.  Set the name of the point array if you
        have one.
        """
        ...
    
    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__ = ...


