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

from .vtkAbstractImageInterpolator import vtkAbstractImageInterpolator

class vtkImageInterpolator(vtkAbstractImageInterpolator):
    """
    vtkImageInterpolator - interpolate data values from images
    
    Superclass: vtkAbstractImageInterpolator
    
    vtkImageInterpolator provides a simple interface for interpolating
    image data.  It provides linear, cubic, and nearest-neighbor
    interpolation.@par Thanks: Thanks to David Gobbi at the Seaman Family
    MR Centre and Dept. of Clinical Neurosciences, Foothills Medical
    Centre, Calgary, for providing this class.
    @sa
    vtkImageReslice
    """
    def ComputeSupportSize(self, , p_int=..., p_int=..., p_int=...):
        """
        V.ComputeSupportSize((float, float, float, float, float, float,
            float, float, float, float, float, float, float, float, float,
             float), [int, int, int])
        C++: void ComputeSupportSize(const double matrix[16],
            int support[3]) override;
        
        Get the support size for use in computing update extents.  If the
        data will be sampled on a regular grid, then pass a matrix
        describing the structured coordinate transformation between the
        output and the input. Otherwise, pass nullptr as the matrix to
        retrieve the full kernel size.
        """
        ...
    
    def GetInterpolationMode(self):
        """
        V.GetInterpolationMode() -> int
        C++: int GetInterpolationMode()
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    def GetInterpolationModeAsString(self):
        """
        V.GetInterpolationModeAsString() -> string
        C++: virtual const char *GetInterpolationModeAsString()
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    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 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 IsSeparable(self):
        """
        V.IsSeparable() -> bool
        C++: bool IsSeparable() override;
        
        Returns true if the interpolator supports weight precomputation.
        This will always return true for this interpolator.
        """
        ...
    
    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() -> vtkImageInterpolator
        C++: vtkImageInterpolator *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkImageInterpolator
        C++: static vtkImageInterpolator *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetInterpolationMode(self, p_int):
        """
        V.SetInterpolationMode(int)
        C++: virtual void SetInterpolationMode(int mode)
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    def SetInterpolationModeToCubic(self):
        """
        V.SetInterpolationModeToCubic()
        C++: void SetInterpolationModeToCubic()
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    def SetInterpolationModeToLinear(self):
        """
        V.SetInterpolationModeToLinear()
        C++: void SetInterpolationModeToLinear()
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    def SetInterpolationModeToNearest(self):
        """
        V.SetInterpolationModeToNearest()
        C++: void SetInterpolationModeToNearest()
        
        The interpolation mode for point scalars (default: linear). 
        Subclasses will provide additional interpolation modes, so this
        is a virtual method.
        """
        ...
    
    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__ = ...


