# encoding: utf-8
# module vtkmodules.vtkCommonExecutionModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonExecutionModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore


from .vtkScalarTree import vtkScalarTree

class vtkSpanSpace(vtkScalarTree):
    """
    vtkSpanSpace - organize data according to scalar span space
    
    Superclass: vtkScalarTree
    
    This is a helper class used to accelerate contouring operations.
    Given an dataset, it organizes the dataset cells into a 2D binned
    space, with coordinate axes (scalar_min,scalar_max). This so-called
    span space can then be traversed quickly to find the cells that
    intersect a specified contour value.
    
    This class has an API that supports both serial and parallel
    operation.  The parallel API enables the using class to grab arrays
    (or batches) of cells that lie along a particular row in the span
    space. These arrays can then be processed separately or in parallel.
    
    Learn more about span space in these two publications: 1) "A Near
    Optimal Isosorface Extraction Algorithm Using the Span Space." Yarden
    Livnat et al. and 2) Isosurfacing in Span Space with Utmost
    Efficiency." Han-Wei Shen et al.
    
    @sa
    vtkScalarTree vtkSimpleScalarTree
    """
    def BuildTree(self): # real signature unknown; restored from __doc__
        """
        BuildTree(self) -> None
        C++: void BuildTree() override;
        
        Construct the scalar tree from the dataset provided. Checks build
        times and modified time from input and reconstructs the tree if
        necessary.
        """
        pass

    def ComputeResolutionOff(self): # real signature unknown; restored from __doc__
        """
        ComputeResolutionOff(self) -> None
        C++: virtual void ComputeResolutionOff()
        """
        pass

    def ComputeResolutionOn(self): # real signature unknown; restored from __doc__
        """
        ComputeResolutionOn(self) -> None
        C++: virtual void ComputeResolutionOn()
        """
        pass

    def ComputeScalarRangeOff(self): # real signature unknown; restored from __doc__
        """
        ComputeScalarRangeOff(self) -> None
        C++: virtual void ComputeScalarRangeOff()
        """
        pass

    def ComputeScalarRangeOn(self): # real signature unknown; restored from __doc__
        """
        ComputeScalarRangeOn(self) -> None
        C++: virtual void ComputeScalarRangeOn()
        """
        pass

    def GetBatchSize(self): # real signature unknown; restored from __doc__
        """
        GetBatchSize(self) -> int
        C++: virtual vtkIdType GetBatchSize()
        """
        return 0

    def GetBatchSizeMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetBatchSizeMaxValue(self) -> int
        C++: virtual vtkIdType GetBatchSizeMaxValue()
        """
        return 0

    def GetBatchSizeMinValue(self): # real signature unknown; restored from __doc__
        """
        GetBatchSizeMinValue(self) -> int
        C++: virtual vtkIdType GetBatchSizeMinValue()
        """
        return 0

    def GetCellBatch(self, batchNum, numCells): # real signature unknown; restored from __doc__
        """
        GetCellBatch(self, batchNum:int, numCells:int) -> Pointer
        C++: const vtkIdType *GetCellBatch(vtkIdType batchNum,
            vtkIdType &numCells) override;
        
        Return the array of cell ids in the specified batch. The method
        also returns the number of cell ids in the array. Make sure to
        call GetNumberOfCellBatches() beforehand.
        """
        pass

    def GetComputeResolution(self): # real signature unknown; restored from __doc__
        """
        GetComputeResolution(self) -> int
        C++: virtual vtkTypeBool GetComputeResolution()
        """
        return 0

    def GetComputeScalarRange(self): # real signature unknown; restored from __doc__
        """
        GetComputeScalarRange(self) -> int
        C++: virtual vtkTypeBool GetComputeScalarRange()
        """
        return 0

    def GetNumberOfCellBatches(self, scalarValue): # real signature unknown; restored from __doc__
        """
        GetNumberOfCellBatches(self, scalarValue:float) -> int
        C++: vtkIdType GetNumberOfCellBatches(double scalarValue)
            override;
        
        Get the number of cell batches available for processing as a
        function of the specified scalar value. Each batch contains a
        list of candidate cells that may contain the specified isocontour
        value.
        """
        return 0

    def GetNumberOfCellsPerBucket(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfCellsPerBucket(self) -> int
        C++: virtual int GetNumberOfCellsPerBucket()
        """
        return 0

    def GetNumberOfCellsPerBucketMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfCellsPerBucketMaxValue(self) -> int
        C++: virtual int GetNumberOfCellsPerBucketMaxValue()
        """
        return 0

    def GetNumberOfCellsPerBucketMinValue(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfCellsPerBucketMinValue(self) -> int
        C++: virtual int GetNumberOfCellsPerBucketMinValue()
        """
        return 0

    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 GetResolution(self): # real signature unknown; restored from __doc__
        """
        GetResolution(self) -> int
        C++: virtual vtkIdType GetResolution()
        """
        return 0

    def GetResolutionMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetResolutionMaxValue(self) -> int
        C++: virtual vtkIdType GetResolutionMaxValue()
        """
        return 0

    def GetResolutionMinValue(self): # real signature unknown; restored from __doc__
        """
        GetResolutionMinValue(self) -> int
        C++: virtual vtkIdType GetResolutionMinValue()
        """
        return 0

    def GetScalarRange(self): # real signature unknown; restored from __doc__
        """
        GetScalarRange(self) -> (float, float)
        C++: virtual double *GetScalarRange()
        """
        pass

    def Initialize(self): # real signature unknown; restored from __doc__
        """
        Initialize(self) -> None
        C++: void Initialize() override;
        
        Initialize the span space. Frees memory and resets object as
        appropriate.
        """
        pass

    def InitTraversal(self, scalarValue): # real signature unknown; restored from __doc__
        """
        InitTraversal(self, scalarValue:float) -> None
        C++: void InitTraversal(double scalarValue) override;
        
        Begin to traverse the cells based on a scalar value. Returned
        cells will have scalar values that span the scalar value
        specified (within the resolution of the span space). Note this
        method must be called prior to parallel or serial traversal since
        it specifies the scalar value to be extracted.
        """
        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) -> vtkSpanSpace
        C++: vtkSpanSpace *NewInstance()
        """
        return vtkSpanSpace

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkSpanSpace
        C++: static vtkSpanSpace *SafeDownCast(vtkObjectBase *o)
        """
        return vtkSpanSpace

    def SetBatchSize(self, _arg): # real signature unknown; restored from __doc__
        """
        SetBatchSize(self, _arg:int) -> None
        C++: virtual void SetBatchSize(vtkIdType _arg)
        
        Set/Get the size of the cell batches when processing in parallel.
        By default the batch size = 100 cells in each batch.
        """
        pass

    def SetComputeResolution(self, _arg): # real signature unknown; restored from __doc__
        """
        SetComputeResolution(self, _arg:int) -> None
        C++: virtual void SetComputeResolution(vtkTypeBool _arg)
        
        Boolean controls whether the resolution of span space is computed
        automatically from the average number of cells falling in each
        bucket.
        """
        pass

    def SetComputeScalarRange(self, _arg): # real signature unknown; restored from __doc__
        """
        SetComputeScalarRange(self, _arg:int) -> None
        C++: virtual void SetComputeScalarRange(vtkTypeBool _arg)
        
        This boolean controls whether the determination of the scalar
        range is computed from the input scalar data. By default this is
        enabled.
        """
        pass

    def SetNumberOfCellsPerBucket(self, _arg): # real signature unknown; restored from __doc__
        """
        SetNumberOfCellsPerBucket(self, _arg:int) -> None
        C++: virtual void SetNumberOfCellsPerBucket(int _arg)
        
        Specify the average number of cells in each bucket. This is used
        to indirectly control the resolution if ComputeResolution is
        enabled.
        """
        pass

    def SetResolution(self, _arg): # real signature unknown; restored from __doc__
        """
        SetResolution(self, _arg:int) -> None
        C++: virtual void SetResolution(vtkIdType _arg)
        
        Set/Get the resolution N of the span space. The span space can be
        envisioned as a rectangular lattice of NXN buckets/bins (i.e., N
        rows and N columns), where each bucket stores a list of cell ids.
        The i-j coordinate of each cell (hence its location in the
        lattice) is determined from the cell's 2-tuple (smin,smax) scalar
        range.  By default Resolution = 100, with a clamp of 10,000.
        """
        pass

    def SetScalarRange(self, _arg1, _arg2): # real signature unknown; restored from __doc__
        """
        SetScalarRange(self, _arg1:float, _arg2:float) -> None
        C++: virtual void SetScalarRange(double _arg1, double _arg2)
        SetScalarRange(self, _arg:(float, float)) -> None
        C++: void SetScalarRange(const double _arg[2])
        
        Specify the scalar range in terms of minimum and maximum values
        (smin,smax). These values are used to build the span space. Note
        that setting the range can have significant impact on the
        performance of the span space as it controls the effective
        resolution near important isocontour values. By default the range
        is computed automatically; turn off ComputeScalarRange is you
        wish to manually specify it.
        """
        pass

    def ShallowCopy(self, stree): # real signature unknown; restored from __doc__
        """
        ShallowCopy(self, stree:vtkScalarTree) -> None
        C++: void ShallowCopy(vtkScalarTree *stree) override;
        
        This method is used to copy data members when cloning an instance
        of the class. It does not copy heavy data.
        """
        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__\': \'vtkSpanSpace\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'ShallowCopy\': <method \'ShallowCopy\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetScalarRange\': <method \'SetScalarRange\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetScalarRange\': <method \'GetScalarRange\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetComputeScalarRange\': <method \'SetComputeScalarRange\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetComputeScalarRange\': <method \'GetComputeScalarRange\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'ComputeScalarRangeOn\': <method \'ComputeScalarRangeOn\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'ComputeScalarRangeOff\': <method \'ComputeScalarRangeOff\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetResolution\': <method \'SetResolution\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetResolutionMinValue\': <method \'GetResolutionMinValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetResolutionMaxValue\': <method \'GetResolutionMaxValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetResolution\': <method \'GetResolution\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetComputeResolution\': <method \'SetComputeResolution\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetComputeResolution\': <method \'GetComputeResolution\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'ComputeResolutionOn\': <method \'ComputeResolutionOn\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'ComputeResolutionOff\': <method \'ComputeResolutionOff\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetNumberOfCellsPerBucket\': <method \'SetNumberOfCellsPerBucket\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfCellsPerBucketMinValue\': <method \'GetNumberOfCellsPerBucketMinValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfCellsPerBucketMaxValue\': <method \'GetNumberOfCellsPerBucketMaxValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfCellsPerBucket\': <method \'GetNumberOfCellsPerBucket\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'Initialize\': <method \'Initialize\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'BuildTree\': <method \'BuildTree\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'InitTraversal\': <method \'InitTraversal\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetNumberOfCellBatches\': <method \'GetNumberOfCellBatches\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetCellBatch\': <method \'GetCellBatch\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'SetBatchSize\': <method \'SetBatchSize\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetBatchSizeMinValue\': <method \'GetBatchSizeMinValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetBatchSizeMaxValue\': <method \'GetBatchSizeMaxValue\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'GetBatchSize\': <method \'GetBatchSize\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF82F4E9AC0>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonExecutionModel.vtkSpanSpace\' objects>, \'__doc__\': \'vtkSpanSpace - organize data according to scalar span space\\n\\nSuperclass: vtkScalarTree\\n\\nThis is a helper class used to accelerate contouring operations.\\nGiven an dataset, it organizes the dataset cells into a 2D binned\\nspace, with coordinate axes (scalar_min,scalar_max). This so-called\\nspan space can then be traversed quickly to find the cells that\\nintersect a specified contour value.\\n\\nThis class has an API that supports both serial and parallel\\noperation.  The parallel API enables the using class to grab arrays\\n(or batches) of cells that lie along a particular row in the span\\nspace. These arrays can then be processed separately or in parallel.\\n\\nLearn more about span space in these two publications: 1) "A Near\\nOptimal Isosorface Extraction Algorithm Using the Span Space." Yarden\\nLivnat et al. and 2) Isosurfacing in Span Space with Utmost\\nEfficiency." Han-Wei Shen et al.\\n\\n@sa\\nvtkScalarTree vtkSimpleScalarTree\\n\\n\'})'
    __vtkname__ = 'vtkSpanSpace'


