# encoding: utf-8
# module vtkmodules.vtkCommonDataModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonDataModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonMath as __vtkmodules_vtkCommonMath
import vtkmodules.vtkCommonTransforms as __vtkmodules_vtkCommonTransforms


from .vtkImplicitFunction import vtkImplicitFunction

class vtkPerlinNoise(vtkImplicitFunction):
    """
    vtkPerlinNoise - an implicit function that implements Perlin noise
    
    Superclass: vtkImplicitFunction
    
    vtkPerlinNoise computes a Perlin noise field as an implicit function.
    vtkPerlinNoise is a concrete implementation of vtkImplicitFunction.
    Perlin noise, originally described by Ken Perlin, is a non-periodic
    and continuous noise function useful for modeling real-world objects.
    
    The amplitude and frequency of the noise pattern are adjustable. 
    This implementation of Perlin noise is derived closely from Greg
    Ward's version in Graphics Gems II.
    
    @sa
    vtkImplicitFunction
    """
    def EvaluateFunction(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        EvaluateFunction(self, x:[float, float, float]) -> float
        C++: double EvaluateFunction(double x[3]) override;
        EvaluateFunction(self, input:vtkDataArray, output:vtkDataArray)
            -> None
        C++: virtual void EvaluateFunction(vtkDataArray *input,
            vtkDataArray *output)
        EvaluateFunction(self, x:float, y:float, z:float) -> float
        C++: virtual double EvaluateFunction(double x, double y, double z)
        
        Evaluate function at position x-y-z and return value.  You should
        generally not call this method directly, you should use
        FunctionValue() instead.  This method must be implemented by any
        derived class.
        """
        pass

    def EvaluateGradient(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        EvaluateGradient(self, x:[float, float, float], n:[float, float,
            float]) -> None
        C++: void EvaluateGradient(double x[3], double n[3]) override;
        
        Evaluate PerlinNoise gradient.  Currently, the method returns a 0
        gradient.
        """
        pass

    def GetAmplitude(self): # real signature unknown; restored from __doc__
        """
        GetAmplitude(self) -> float
        C++: virtual double GetAmplitude()
        """
        return 0.0

    def GetFrequency(self): # real signature unknown; restored from __doc__
        """
        GetFrequency(self) -> (float, float, float)
        C++: virtual double *GetFrequency()
        """
        pass

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def GetPhase(self): # real signature unknown; restored from __doc__
        """
        GetPhase(self) -> (float, float, float)
        C++: virtual double *GetPhase()
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkPerlinNoise
        C++: vtkPerlinNoise *NewInstance()
        """
        return vtkPerlinNoise

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkPerlinNoise
        C++: static vtkPerlinNoise *SafeDownCast(vtkObjectBase *o)
        """
        return vtkPerlinNoise

    def SetAmplitude(self, _arg): # real signature unknown; restored from __doc__
        """
        SetAmplitude(self, _arg:float) -> None
        C++: virtual void SetAmplitude(double _arg)
        
        Set/get the amplitude of the noise function. Amplitude can be
        negative. The noise function varies randomly between -|Amplitude|
        and |Amplitude|. Therefore the range of values is 2*|Amplitude|
        large. The initial amplitude is 1.
        """
        pass

    def SetFrequency(self, _arg1, _arg2, _arg3): # real signature unknown; restored from __doc__
        """
        SetFrequency(self, _arg1:float, _arg2:float, _arg3:float) -> None
        C++: virtual void SetFrequency(double _arg1, double _arg2,
            double _arg3)
        SetFrequency(self, _arg:(float, float, float)) -> None
        C++: virtual void SetFrequency(const double _arg[3])
        
        Set/get the frequency, or physical scale,  of the noise function
        (higher is finer scale).  The frequency can be adjusted per axis,
        or the same for all axes.
        """
        pass

    def SetPhase(self, _arg1, _arg2, _arg3): # real signature unknown; restored from __doc__
        """
        SetPhase(self, _arg1:float, _arg2:float, _arg3:float) -> None
        C++: virtual void SetPhase(double _arg1, double _arg2,
            double _arg3)
        SetPhase(self, _arg:(float, float, float)) -> None
        C++: virtual void SetPhase(const double _arg[3])
        
        Set/get the phase of the noise function.  This parameter can be
        used to shift the noise function within space (perhaps to avoid a
        beat with a noise pattern at another scale).  Phase tends to
        repeat about every unit, so a phase of 0.5 is a half-cycle shift.
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkPerlinNoise\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'EvaluateFunction\': <method \'EvaluateFunction\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'EvaluateGradient\': <method \'EvaluateGradient\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'SetFrequency\': <method \'SetFrequency\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'GetFrequency\': <method \'GetFrequency\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'SetPhase\': <method \'SetPhase\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'GetPhase\': <method \'GetPhase\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'SetAmplitude\': <method \'SetAmplitude\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'GetAmplitude\': <method \'GetAmplitude\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D63EBE0>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonDataModel.vtkPerlinNoise\' objects>, \'__doc__\': "vtkPerlinNoise - an implicit function that implements Perlin noise\\n\\nSuperclass: vtkImplicitFunction\\n\\nvtkPerlinNoise computes a Perlin noise field as an implicit function.\\nvtkPerlinNoise is a concrete implementation of vtkImplicitFunction.\\nPerlin noise, originally described by Ken Perlin, is a non-periodic\\nand continuous noise function useful for modeling real-world objects.\\n\\nThe amplitude and frequency of the noise pattern are adjustable. \\nThis implementation of Perlin noise is derived closely from Greg\\nWard\'s version in Graphics Gems II.\\n\\n@sa\\nvtkImplicitFunction\\n\\n"})'
    __vtkname__ = 'vtkPerlinNoise'


