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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkPointOccupancyFilter(__vtkmodules_vtkCommonExecutionModel.vtkImageAlgorithm):
    """
    vtkPointOccupancyFilter - produce occupancy bit mask from input point
    cloud
    
    Superclass: vtkImageAlgorithm
    
    vtkPointOccupancyFilter is a filter that generates an occupancy mask
    on a volume from a point cloud. The output of the filter is an
    image/volume that indicates for each pixel/voxel whether a point
    exists within the pixel/voxel.
    
    To use this filter, specify an input of type vtkPointSet (i.e., has
    an explicit representation of points). Then define the occupancy
    volume by specifying the sample dimensions and bounds. Optionally you
    can specify unsigned char values used to indicate whether a voxel is
    empty or occupied.
    
    @warning
    During processing, if a point is found to be outside of the occupancy
    volume, then it is skipped (i.e., it does not affect the occupancy
    mask).
    
    @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
    vtkPointDensityFilter vtkPointMaskFilter
    """
    def GetEmptyValue(self):
        """
        V.GetEmptyValue() -> int
        C++: virtual unsigned char GetEmptyValue()
        
        Set / get the values indicating whether a voxel is empty (i.e.,
        does not contain any points) or occupied. By default, an empty
        voxel has a zero value; an occupied voxel has a value of one.
        """
        ...
    
    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 GetOccupiedValue(self):
        """
        V.GetOccupiedValue() -> int
        C++: virtual unsigned char GetOccupiedValue()
        
        Set / get the values indicating whether a voxel is empty (i.e.,
        does not contain any points) or occupied. By default, an empty
        voxel has a zero value; an occupied voxel has a value of one.
        """
        ...
    
    def GetSampleDimensions(self):
        """
        V.GetSampleDimensions() -> (int, int, int)
        C++: virtual int *GetSampleDimensions()
        
        Set / get the dimensions of the occupancy volume. Higher values
        generally produce better results but may be much slower.
        """
        ...
    
    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() -> vtkPointOccupancyFilter
        C++: vtkPointOccupancyFilter *NewInstance()
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkPointOccupancyFilter
        C++: static vtkPointOccupancyFilter *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for instantiating, obtaining type information,
        and printing information.
        """
        ...
    
    def SetEmptyValue(self, p_int):
        """
        V.SetEmptyValue(int)
        C++: virtual void SetEmptyValue(unsigned char _arg)
        
        Set / get the values indicating whether a voxel is empty (i.e.,
        does not contain any points) or occupied. By default, an empty
        voxel has a zero value; an occupied voxel has a value of one.
        """
        ...
    
    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 SetOccupiedValue(self, p_int):
        """
        V.SetOccupiedValue(int)
        C++: virtual void SetOccupiedValue(unsigned char _arg)
        
        Set / get the values indicating whether a voxel is empty (i.e.,
        does not contain any points) or occupied. By default, an empty
        voxel has a zero value; an occupied voxel has a value of one.
        """
        ...
    
    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 occupancy volume. Higher values
        generally produce better results but may be much slower.
        """
        ...
    
    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__ = ...


