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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkAMRInformation(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkAMRInformation - Meta data that describes the structure of an AMR
    data set
    
    Superclass: vtkObject
    
    vtkAMRInformation encaspulates the following meta information for an
    AMR data set
    - a list of vtkAMRBox objects
    - Refinement ratio between AMR levels
    - Grid spacing for each level
    - The file block index for each block
    - parent child information, if requested
    
    @sa
    vtkOverlappingAMR, vtkAMRBox
    """
    def Audit(self):
        """
        V.Audit() -> bool
        C++: bool Audit()
        
        Checks whether the meta data is internally consistent.
        """
        ...
    
    def ComputeIndexPair(self, p_int, p_int_1, p_int_2):
        """
        V.ComputeIndexPair(int, int, int)
        C++: void ComputeIndexPair(unsigned int index,
            unsigned int &level, unsigned int &id)
        
        Returns the an index pair given a single index
        """
        ...
    
    def DeepCopy(self, vtkAMRInformation):
        """
        V.DeepCopy(vtkAMRInformation)
        C++: void DeepCopy(vtkAMRInformation *other)
        """
        ...
    
    def FindCell(self, p_float=..., p_float=..., p_float=..., *args, **kwargs):
        """
        V.FindCell([float, float, float], int, int, int) -> bool
        C++: bool FindCell(double q[3], unsigned int level,
            unsigned int index, int &cellIdx)
        
        Given a point q, find whether q is bounded by the data set at
        (level,index).  If it is, set cellIdx to the cell index and
        return true; otherwise return false
        """
        ...
    
    def FindGrid(self, p_float=..., p_float=..., p_float=..., *args, **kwargs):
        """
        V.FindGrid([float, float, float], int, int) -> bool
        C++: bool FindGrid(double q[3], int level, unsigned int &gridId)
        V.FindGrid([float, float, float], int, int) -> bool
        C++: bool FindGrid(double q[3], unsigned int &level,
            unsigned int &gridId)
        
        find the grid that contains the point q at the specified level
        """
        ...
    
    def GenerateParentChildInformation(self):
        """
        V.GenerateParentChildInformation()
        C++: void GenerateParentChildInformation()
        
        Generate the parent/child relationships - needed to be called
        before GetParents or GetChildren can be used!
        """
        ...
    
    def GenerateRefinementRatio(self):
        """
        V.GenerateRefinementRatio()
        C++: void GenerateRefinementRatio()
        
        This method computes the refinement ratio at each level. At each
        level, l, the refinement ratio r_l is computed by r_l = D_{l} /
        D_{l+1}, where D_{l+1} and D_{l} are the grid spacings at the
        next and current level respectively.
        
        * .SECTION Assumptions
        * 1) Within each level, the refinement ratios are the same for
          all blocks.
        * 2) The refinement ratio is uniform along each dimension of the
          block.
        """
        ...
    
    def GetAMRBlockSourceIndex(self, p_int):
        """
        V.GetAMRBlockSourceIndex(int) -> int
        C++: int GetAMRBlockSourceIndex(int index)
        
        Get/Set the SourceIndex of a block. Typically, this is a
        file-type specific index that can be used by a reader to load a
        particular file block
        """
        ...
    
    def GetAMRBox(self, p_int, p_int_1):
        """
        V.GetAMRBox(int, int) -> vtkAMRBox
        C++: const vtkAMRBox &GetAMRBox(unsigned int level,
            unsigned int id)
        
        Methods to set and get the AMR box at a given position
        """
        ...
    
    def GetBounds(self):
        """
        V.GetBounds() -> (float, ...)
        C++: const double *GetBounds()
        V.GetBounds(int, int, [float, ...])
        C++: void GetBounds(unsigned int level, unsigned int id,
            double *bb)
        
        Returns the bounds of the entire domain
        """
        ...
    
    def GetChildren(self, p_int, p_int_1, p_int_2):
        """
        V.GetChildren(int, int, int) -> (int, ...)
        C++: unsigned int *GetChildren(unsigned int level,
            unsigned int index, unsigned int &numChildren)
        
        Return a pointer to Children of a block.  The first entry is the
        number of children the block has followed by its children ids in
        level+1. If none exits it returns nullptr.
        """
        ...
    
    def GetCoarsenedAMRBox(self, p_int, p_int_1, vtkAMRBox):
        """
        V.GetCoarsenedAMRBox(int, int, vtkAMRBox) -> bool
        C++: bool GetCoarsenedAMRBox(unsigned int level, unsigned int id,
            vtkAMRBox &box)
        
        return the amr box coarsened to the previous level
        """
        ...
    
    def GetGridDescription(self):
        """
        V.GetGridDescription() -> int
        C++: virtual int GetGridDescription()
        
        returns the value of vtkUniformGrid::GridDescription() of any
        block
        """
        ...
    
    def GetIndex(self, p_int, p_int_1):
        """
        V.GetIndex(int, int) -> int
        C++: int GetIndex(unsigned int level, unsigned int id)
        
        Returns the single index from a pair of indices
        """
        ...
    
    def GetNumberOfDataSets(self, p_int):
        """
        V.GetNumberOfDataSets(int) -> int
        C++: unsigned int GetNumberOfDataSets(unsigned int level)
        
        Returns the number of datasets at the given levelx
        """
        ...
    
    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 GetNumberOfLevels(self):
        """
        V.GetNumberOfLevels() -> int
        C++: unsigned int GetNumberOfLevels()
        
        Return the number of levels
        """
        ...
    
    def GetNumBlocks(self):
        """
        V.GetNumBlocks() -> Stvector_IiE
        C++: const std::vector<int> &GetNumBlocks()
        
        Returns internal arrays.
        """
        ...
    
    def GetOrigin(self, p_float=..., p_float=..., p_float=...):
        """
        V.GetOrigin([float, float, float])
        C++: void GetOrigin(double origin[3])
        V.GetOrigin() -> (float, ...)
        C++: double *GetOrigin()
        V.GetOrigin(int, int, [float, ...]) -> bool
        C++: bool GetOrigin(unsigned int level, unsigned int id,
            double *origin)
        
        Get the AMR dataset origin The origin is essentially the minimum
        of all the grids.
        """
        ...
    
    def GetParents(self, p_int, p_int_1, p_int_2):
        """
        V.GetParents(int, int, int) -> (int, ...)
        C++: unsigned int *GetParents(unsigned int level,
            unsigned int index, unsigned int &numParents)
        
        Return a pointer to Parents of a block.  The first entry is the
        number of parents the block has followed by its parent ids in
        level-1. If none exits it returns nullptr.
        """
        ...
    
    def GetRefinementRatio(self, p_int):
        """
        V.GetRefinementRatio(int) -> int
        C++: int GetRefinementRatio(unsigned int level)
        
        Returns the refinement of a given level.
        """
        ...
    
    def GetSpacing(self, p_int, p_float=..., p_float=..., p_float=...):
        """
        V.GetSpacing(int, [float, float, float])
        C++: void GetSpacing(unsigned int level, double spacing[3])
        
        Return the spacing at the given fiven
        """
        ...
    
    def GetTotalNumberOfBlocks(self):
        """
        V.GetTotalNumberOfBlocks() -> int
        C++: unsigned int GetTotalNumberOfBlocks()
        
        Returns total number of datasets
        """
        ...
    
    def HasChildrenInformation(self):
        """
        V.HasChildrenInformation() -> bool
        C++: bool HasChildrenInformation()
        
        Return whether parent child information has been generated
        """
        ...
    
    def HasRefinementRatio(self):
        """
        V.HasRefinementRatio() -> bool
        C++: bool HasRefinementRatio()
        
        Returns whether refinement ratio has been set (either by calling
        GenerateRefinementRatio() or by calling SetRefinementRatio()
        """
        ...
    
    def HasSpacing(self, p_int):
        """
        V.HasSpacing(int) -> bool
        C++: bool HasSpacing(unsigned int level)
        """
        ...
    
    def Initialize(self, p_int, int_tuple):
        """
        V.Initialize(int, (int, ...))
        C++: void Initialize(int numLevels, const int *blocksPerLevel)
        
        Initialize the meta information numLevels is the number of levels
        blocksPerLevel[i] is the number of blocks at level i
        """
        ...
    
    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() -> vtkAMRInformation
        C++: vtkAMRInformation *NewInstance()
        """
        ...
    
    def PrintParentChildInfo(self, p_int, p_int_1):
        """
        V.PrintParentChildInfo(int, int)
        C++: void PrintParentChildInfo(unsigned int level,
            unsigned int index)
        
        Prints the parents and children of a requested block (Debug
        Routine)
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkAMRInformation
        C++: static vtkAMRInformation *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAMRBlockSourceIndex(self, p_int, p_int_1):
        """
        V.SetAMRBlockSourceIndex(int, int)
        C++: void SetAMRBlockSourceIndex(int index, int sourceId)
        
        Get/Set the SourceIndex of a block. Typically, this is a
        file-type specific index that can be used by a reader to load a
        particular file block
        """
        ...
    
    def SetAMRBox(self, p_int, p_int_1, vtkAMRBox):
        """
        V.SetAMRBox(int, int, vtkAMRBox)
        C++: void SetAMRBox(unsigned int level, unsigned int id,
            const vtkAMRBox &box)
        
        Methods to set and get the AMR box at a given position
        """
        ...
    
    def SetGridDescription(self, p_int):
        """
        V.SetGridDescription(int)
        C++: void SetGridDescription(int description)
        
        returns the value of vtkUniformGrid::GridDescription() of any
        block
        """
        ...
    
    def SetOrigin(self, float_tuple):
        """
        V.SetOrigin((float, ...))
        C++: void SetOrigin(const double *origin)
        
        Get the AMR dataset origin The origin is essentially the minimum
        of all the grids.
        """
        ...
    
    def SetRefinementRatio(self, p_int, p_int_1):
        """
        V.SetRefinementRatio(int, int)
        C++: void SetRefinementRatio(unsigned int level, int ratio)
        
        Set the refinement ratio at a level. This method should be called
        for all levels, if called at all.
        """
        ...
    
    def SetSpacing(self, p_int, float_tuple):
        """
        V.SetSpacing(int, (float, ...))
        C++: void SetSpacing(unsigned int level, const double *h)
        
        Set the spacing at a given level
        """
        ...
    
    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__ = ...


