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

from .vtkGeneralizedKernel import vtkGeneralizedKernel

class vtkLinearKernel(vtkGeneralizedKernel):
    """
    vtkLinearKernel - a linear interpolation kernel
    
    Superclass: vtkGeneralizedKernel
    
    vtkLinearKernel is an interpolation kernel that averages the
    contributions of all points in the basis.
    
    @sa
    vtkPointInterpolator vtkInterpolationKernel vtkGeneralizedKernel
    vtkGaussianKernel vtkLinearKernel vtkShepardKernel
    """
    def ComputeWeights(self, p_float=..., p_float=..., p_float=..., *args, **kwargs):
        """
        V.ComputeWeights([float, float, float], vtkIdList, vtkDoubleArray,
             vtkDoubleArray) -> int
        C++: vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
            vtkDoubleArray *prob, vtkDoubleArray *weights) override;
        V.ComputeWeights([float, float, float], vtkIdList, vtkDoubleArray)
             -> int
        C++: vtkIdType ComputeWeights(double x[3], vtkIdList *pIds,
            vtkDoubleArray *weights) override;
        
        Given a point x, a list of basis points pIds, and a probability
        weighting function prob, compute interpolation weights associated
        with these basis points.  Note that basis points list pIds, the
        probability weighting prob, and the weights array are provided by
        the caller of the method, and may be dynamically resized as
        necessary. The method returns the number of weights (pIds may be
        resized in some cases). Typically this method is called after
        ComputeBasis(), although advanced users can invoke
        ComputeWeights() and provide the interpolation basis points pIds
        directly. The probably weighting prob are numbers 0<=prob<=1
        which are multiplied against the interpolation weights before
        normalization. They are estimates of local confidence of weights.
        The prob may be nullptr in which all probabilities are considered
        =1.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkLinearKernel
        C++: vtkLinearKernel *NewInstance()
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkLinearKernel
        C++: static vtkLinearKernel *SafeDownCast(vtkObjectBase *o)
        
        Standard methods for instantiation, obtaining type information,
        and printing.
        """
        ...
    
    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__ = ...


