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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkPointDensityFilter(__vtkmodules_vtkCommonExecutionModel.vtkImageAlgorithm):
    """
    vtkPointDensityFilter - produce density field from input point cloud
    
    Superclass: vtkImageAlgorithm
    
    vtkPointDensityFilter is a filter that generates a density field on a
    volume from a point cloud. Basically the density is computed as
    number of points in a local neighborhood per unit volume; or
    optionally, the number of points in a local neighborhood surrounding
    each voxel. The local neighborhood is specified as a radius around
    each sample position (i.e., each voxel) which can be of fixed value;
    or the radius can be relative to the voxel size. The density
    computation may be further weighted by a scalar value which is simply
    multiplied by each point's presumed density of 1.0.
    
    To use this filter, specify an input of type vtkPointSet (i.e., has
    an explicit representation of points). Optionally a scalar weighting
    function can be provided (part of the input to the filter). Then
    specify how the local spherical neighborhood is to be defined, either
    by a fixed radius or a radius relative to the voxel size. Finally,
    specify how the density is specified, either as a points/volume, or
    as number of points. (The weighting scalar array will affect both of
    these results if provided and enabled.)
    
    An optional capability of the filter is to compute the gradients of
    the resulting density function (a 3-component vector), which also
    includes the gradient magnitude (single component scalar) and
    classification (regions of zero function, a scalar with single
    unsigned char value per voxel).
    
    * @warning
    * A point locator is used to speed up searches. By default a fast
    * vtkStaticPointLocator is used; however the user may specify an
      alternative
    * locator. In some situations adaptive locators may run faster
      depending on
    * the relative variation in point cloud density.
    *
    * @warning
    * Note that the volume calculation can be affected by the boundary.
      The
    * local spherical neighborhood around a "near volume boundary" voxel
      may
    * extend beyond the volume extent, meaning that density computation
      may be
    * reduced. To counter this effect, the volume may be increased in
      size
    * and/or resolution so that the point cloud fits well within the
      volume.
    *
    * @warning
    * While this class is very similar to many other of VTK's the point
    * splatting and interpolation classes, the algorithm density
      computation is
    * specialized to generate the density computation over a volume, does
    not
    * require (scalar weighting) data attributes to run, and does not
      require
    * multiple inputs. As an interesting side note: using the
    * vtkPointInterpolation class with a vtkLinearKernel, a (scalar)
      weighting
    * point attribute, a point cloud source, and an input volume produces
    the
    * same result as this filter does (assuming that the input volume is
      the
    * same).
    *
    * @warning
    * This class has been threaded with vtkSMPTools. Using TBB or other
    * non-sequential type (set in the CMake variable
    * VTK_SMP_IMPLEMENTATION_TYPE) may improve performance significantly.
    *
    * @sa
    * vtkCheckerboardSplatter vtkShepardMethod vtkGaussianSplatter
    * vtkPointInterpolator vtkSPHInterpolator
    """
    def ComputeGradientOff(self):
        """
        V.ComputeGradientOff()
        C++: virtual void ComputeGradientOff()
        
        Turn on/off the generation of the gradient vector, gradient
        magnitude scalar, and function classification scalar. By default
        this is off. Note that this will increase execution time and the
        size of the output. (The names of these point data arrays are:
        "Gradient", "Gradient Magnitude", and "Classification".)
        """
        ...
    
    def ComputeGradientOn(self):
        """
        V.ComputeGradientOn()
        C++: virtual void ComputeGradientOn()
        
        Turn on/off the generation of the gradient vector, gradient
        magnitude scalar, and function classification scalar. By default
        this is off. Note that this will increase execution time and the
        size of the output. (The names of these point data arrays are:
        "Gradient", "Gradient Magnitude", and "Classification".)
        """
        ...
    
    def GetAdjustDistance(self):
        """
        V.GetAdjustDistance() -> float
        C++: virtual double GetAdjustDistance()
        
        Set / get the relative amount to pad the model bounds if
        automatic computation is performed. The padding is the fraction
        to scale the model bounds in each of the x-y-z directions. By
        default the padding is 0.10 (i.e., 10% larger in each direction).
        """
        ...
    
    def GetAdjustDistanceMaxValue(self):
        """
        V.GetAdjustDistanceMaxValue() -> float
        C++: virtual double GetAdjustDistanceMaxValue()
        
        Set / get the relative amount to pad the model bounds if
        automatic computation is performed. The padding is the fraction
        to scale the model bounds in each of the x-y-z directions. By
        default the padding is 0.10 (i.e., 10% larger in each direction).
        """
        ...
    
    def GetAdjustDistanceMinValue(self):
        """
        V.GetAdjustDistanceMinValue() -> float
        C++: virtual double GetAdjustDistanceMinValue()
        
        Set / get the relative amount to pad the model bounds if
        automatic computation is performed. The padding is the fraction
        to scale the model bounds in each of the x-y-z directions. By
        default the padding is 0.10 (i.e., 10% larger in each direction).
        """
        ...
    
    def GetComputeGradient(self):
        """
        V.GetComputeGradient() -> bool
        C++: virtual bool GetComputeGradient()
        
        Turn on/off the generation of the gradient vector, gradient
        magnitude scalar, and function classification scalar. By default
        this is off. Note that this will increase execution time and the
        size of the output. (The names of these point data arrays are:
        "Gradient", "Gradient Magnitude", and "Classification".)
        """
        ...
    
    def GetDensityEstimate(self):
        """
        V.GetDensityEstimate() -> int
        C++: virtual int GetDensityEstimate()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def GetDensityEstimateAsString(self):
        """
        V.GetDensityEstimateAsString() -> string
        C++: const char *GetDensityEstimateAsString()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def GetDensityEstimateMaxValue(self):
        """
        V.GetDensityEstimateMaxValue() -> int
        C++: virtual int GetDensityEstimateMaxValue()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def GetDensityEstimateMinValue(self):
        """
        V.GetDensityEstimateMinValue() -> int
        C++: virtual int GetDensityEstimateMinValue()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def GetDensityForm(self):
        """
        V.GetDensityForm() -> int
        C++: virtual int GetDensityForm()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def GetDensityFormAsString(self):
        """
        V.GetDensityFormAsString() -> string
        C++: const char *GetDensityFormAsString()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def GetDensityFormMaxValue(self):
        """
        V.GetDensityFormMaxValue() -> int
        C++: virtual int GetDensityFormMaxValue()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def GetDensityFormMinValue(self):
        """
        V.GetDensityFormMinValue() -> int
        C++: virtual int GetDensityFormMinValue()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def GetLocator(self):
        """
        V.GetLocator() -> vtkAbstractPointLocator
        C++: virtual vtkAbstractPointLocator *GetLocator()
        
        Specify a point locator. By default a vtkStaticPointLocator is
        used. The locator performs efficient searches to locate near a
        specified interpolation position.
        """
        ...
    
    def GetModelBounds(self):
        """
        V.GetModelBounds() -> (float, float, float, float, float, float)
        C++: virtual double *GetModelBounds()
        
        Set / get the (xmin,xmax, ymin,ymax, zmin,zmax) bounding box in
        which the sampling is performed. If any of the (min,max) bounds
        values are min >= max, then the bounds will be computed
        automatically from the input data. Otherwise, the user-specified
        bounds will be used.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def GetRadius(self):
        """
        V.GetRadius() -> float
        C++: virtual double GetRadius()
        
        Set / get the radius variable defining the local sphere used to
        estimate the density function. The Radius is used when the
        density estimate is ^ set to a fixed radius (i.e., the radius
        doesn't change).
        """
        ...
    
    def GetRadiusMaxValue(self):
        """
        V.GetRadiusMaxValue() -> float
        C++: virtual double GetRadiusMaxValue()
        
        Set / get the radius variable defining the local sphere used to
        estimate the density function. The Radius is used when the
        density estimate is ^ set to a fixed radius (i.e., the radius
        doesn't change).
        """
        ...
    
    def GetRadiusMinValue(self):
        """
        V.GetRadiusMinValue() -> float
        C++: virtual double GetRadiusMinValue()
        
        Set / get the radius variable defining the local sphere used to
        estimate the density function. The Radius is used when the
        density estimate is ^ set to a fixed radius (i.e., the radius
        doesn't change).
        """
        ...
    
    def GetRelativeRadius(self):
        """
        V.GetRelativeRadius() -> float
        C++: virtual double GetRelativeRadius()
        
        Set / get the relative radius factor defining the local sphere
        used to estimate the density function. The relative sphere radius
        is equal to the diagonal length of a voxel times the radius
        factor. The RelativeRadius is used when the density estimate is
        set to relative radius (i.e., relative to voxel size).
        """
        ...
    
    def GetRelativeRadiusMaxValue(self):
        """
        V.GetRelativeRadiusMaxValue() -> float
        C++: virtual double GetRelativeRadiusMaxValue()
        
        Set / get the relative radius factor defining the local sphere
        used to estimate the density function. The relative sphere radius
        is equal to the diagonal length of a voxel times the radius
        factor. The RelativeRadius is used when the density estimate is
        set to relative radius (i.e., relative to voxel size).
        """
        ...
    
    def GetRelativeRadiusMinValue(self):
        """
        V.GetRelativeRadiusMinValue() -> float
        C++: virtual double GetRelativeRadiusMinValue()
        
        Set / get the relative radius factor defining the local sphere
        used to estimate the density function. The relative sphere radius
        is equal to the diagonal length of a voxel times the radius
        factor. The RelativeRadius is used when the density estimate is
        set to relative radius (i.e., relative to voxel size).
        """
        ...
    
    def GetSampleDimensions(self):
        """
        V.GetSampleDimensions() -> (int, int, int)
        C++: virtual int *GetSampleDimensions()
        
        Set / get the dimensions of the sampling volume. Higher values
        generally produce better results but may be much slower. Note
        however that too high a resolution can generate excessive noise;
        too low and data can be excessively smoothed.
        """
        ...
    
    def GetScalarWeighting(self):
        """
        V.GetScalarWeighting() -> bool
        C++: virtual bool GetScalarWeighting()
        
        Turn on/off the weighting of point density by a scalar array. By
        default scalar weighting is off.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkPointDensityFilter
        C++: vtkPointDensityFilter *NewInstance()
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkPointDensityFilter
        C++: static vtkPointDensityFilter *SafeDownCast(vtkObjectBase *o)
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def ScalarWeightingOff(self):
        """
        V.ScalarWeightingOff()
        C++: virtual void ScalarWeightingOff()
        
        Turn on/off the weighting of point density by a scalar array. By
        default scalar weighting is off.
        """
        ...
    
    def ScalarWeightingOn(self):
        """
        V.ScalarWeightingOn()
        C++: virtual void ScalarWeightingOn()
        
        Turn on/off the weighting of point density by a scalar array. By
        default scalar weighting is off.
        """
        ...
    
    def SetAdjustDistance(self, p_float):
        """
        V.SetAdjustDistance(float)
        C++: virtual void SetAdjustDistance(double _arg)
        
        Set / get the relative amount to pad the model bounds if
        automatic computation is performed. The padding is the fraction
        to scale the model bounds in each of the x-y-z directions. By
        default the padding is 0.10 (i.e., 10% larger in each direction).
        """
        ...
    
    def SetComputeGradient(self, bool):
        """
        V.SetComputeGradient(bool)
        C++: virtual void SetComputeGradient(bool _arg)
        
        Turn on/off the generation of the gradient vector, gradient
        magnitude scalar, and function classification scalar. By default
        this is off. Note that this will increase execution time and the
        size of the output. (The names of these point data arrays are:
        "Gradient", "Gradient Magnitude", and "Classification".)
        """
        ...
    
    def SetDensityEstimate(self, p_int):
        """
        V.SetDensityEstimate(int)
        C++: virtual void SetDensityEstimate(int _arg)
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def SetDensityEstimateToFixedRadius(self):
        """
        V.SetDensityEstimateToFixedRadius()
        C++: void SetDensityEstimateToFixedRadius()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def SetDensityEstimateToRelativeRadius(self):
        """
        V.SetDensityEstimateToRelativeRadius()
        C++: void SetDensityEstimateToRelativeRadius()
        
        Specify the method to estimate point density. The density can be
        calculated using a fixed sphere radius; or a sphere radius that
        is relative to voxel size.
        """
        ...
    
    def SetDensityForm(self, p_int):
        """
        V.SetDensityForm(int)
        C++: virtual void SetDensityForm(int _arg)
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def SetDensityFormToNumberOfPoints(self):
        """
        V.SetDensityFormToNumberOfPoints()
        C++: void SetDensityFormToNumberOfPoints()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def SetDensityFormToVolumeNormalized(self):
        """
        V.SetDensityFormToVolumeNormalized()
        C++: void SetDensityFormToVolumeNormalized()
        
        Specify the form by which the density is expressed. Either the
        density is expressed as (number of points/local sphere volume),
        or as simply the (number of points) within the local sphere.
        """
        ...
    
    def SetLocator(self, vtkAbstractPointLocator):
        """
        V.SetLocator(vtkAbstractPointLocator)
        C++: void SetLocator(vtkAbstractPointLocator *locator)
        
        Specify a point locator. By default a vtkStaticPointLocator is
        used. The locator performs efficient searches to locate near a
        specified interpolation position.
        """
        ...
    
    def SetModelBounds(self, p_float, p_float_1, p_float_2, p_float_3, p_float_4, p_float_5):
        """
        V.SetModelBounds(float, float, float, float, float, float)
        C++: virtual void SetModelBounds(double _arg1, double _arg2,
            double _arg3, double _arg4, double _arg5, double _arg6)
        V.SetModelBounds((float, float, float, float, float, float))
        C++: virtual void SetModelBounds(const double _arg[6])
        
        Set / get the (xmin,xmax, ymin,ymax, zmin,zmax) bounding box in
        which the sampling is performed. If any of the (min,max) bounds
        values are min >= max, then the bounds will be computed
        automatically from the input data. Otherwise, the user-specified
        bounds will be used.
        """
        ...
    
    def SetRadius(self, p_float):
        """
        V.SetRadius(float)
        C++: virtual void SetRadius(double _arg)
        
        Set / get the radius variable defining the local sphere used to
        estimate the density function. The Radius is used when the
        density estimate is ^ set to a fixed radius (i.e., the radius
        doesn't change).
        """
        ...
    
    def SetRelativeRadius(self, p_float):
        """
        V.SetRelativeRadius(float)
        C++: virtual void SetRelativeRadius(double _arg)
        
        Set / get the relative radius factor defining the local sphere
        used to estimate the density function. The relative sphere radius
        is equal to the diagonal length of a voxel times the radius
        factor. The RelativeRadius is used when the density estimate is
        set to relative radius (i.e., relative to voxel size).
        """
        ...
    
    def SetSampleDimensions(self, p_int, p_int_1, p_int_2):
        """
        V.SetSampleDimensions(int, int, int)
        C++: void SetSampleDimensions(int i, int j, int k)
        V.SetSampleDimensions([int, int, int])
        C++: void SetSampleDimensions(int dim[3])
        
        Set / get the dimensions of the sampling volume. Higher values
        generally produce better results but may be much slower. Note
        however that too high a resolution can generate excessive noise;
        too low and data can be excessively smoothed.
        """
        ...
    
    def SetScalarWeighting(self, bool):
        """
        V.SetScalarWeighting(bool)
        C++: virtual void SetScalarWeighting(bool _arg)
        
        Turn on/off the weighting of point density by a scalar array. By
        default scalar weighting is off.
        """
        ...
    
    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__ = ...
    FunctionClass = ...
    NON_ZERO = ...
    ZERO = ...
    __dict__ = ...
    __vtkname__ = ...


