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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkAMRUtilities(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkAMRUtilities -  A concrete instance of vtkObject that employs a
    singleton design
     pattern and implements functionality for AMR specific operations.
    
    Superclass: vtkObject
    
    @sa
     vtkOverlappingAMR, vtkAMRBox
    """
    def BlankCells(self, vtkOverlappingAMR):
        """
        V.BlankCells(vtkOverlappingAMR)
        C++: static void BlankCells(vtkOverlappingAMR *amr)
        
        Blank cells in overlapping AMR
        """
        ...
    
    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 HasPartiallyOverlappingGhostCells(self, vtkOverlappingAMR):
        """
        V.HasPartiallyOverlappingGhostCells(vtkOverlappingAMR) -> bool
        C++: static bool HasPartiallyOverlappingGhostCells(
            vtkOverlappingAMR *amr)
        
        A quick test of whether partially overlapping ghost cells exist.
        This test starts from the highest-res boxes and checks if they
        have partially overlapping cells. The code returns with true once
        partially overlapping cells are detected. Otherwise, false is
        returned.
        """
        ...
    
    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 NewInstance(self):
        """
        V.NewInstance() -> vtkAMRUtilities
        C++: vtkAMRUtilities *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkAMRUtilities
        C++: static vtkAMRUtilities *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def StripGhostLayers(self, vtkOverlappingAMR, vtkOverlappingAMR_1):
        """
        V.StripGhostLayers(vtkOverlappingAMR, vtkOverlappingAMR)
        C++: static void StripGhostLayers(
            vtkOverlappingAMR *ghostedAMRData,
            vtkOverlappingAMR *strippedAMRData)
        
        This method detects and strips partially overlapping cells from a
        given AMR dataset. If ghost layers are detected, they are removed
        and new grid instances are created to represent the stripped
        data-set otherwise, each block is shallow-copied.
        
        * .SECTION Assumptions
        * 1) The ghosted AMR data must have complete metadata
          information.
        """
        ...
    
    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__ = ...


