# 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 vtkSimpleScalarTree(vtkScalarTree):
    """
    vtkSimpleScalarTree - organize data according to scalar values (used
    to accelerate contouring operations)
    
    Superclass: vtkScalarTree
    
    vtkSimpleScalarTree creates a pointerless binary tree that helps
    search for cells that lie within a particular scalar range. This
    object is used to accelerate some contouring (and other scalar-based
    techniques).
    
    The tree consists of an array of (min,max) scalar range pairs per
    node in the tree. The (min,max) range is determined from looking at
    the range of the children of the tree node. If the node is a leaf,
    then the range is determined by scanning the range of scalar data in
    n cells in the dataset. The n cells are determined by arbitrary
    selecting cell ids from id(i) to id(i+n), and where n is specified
    using the BranchingFactor ivar. Note that leaf node i=0 contains the
    scalar range computed from cell ids (0,n-1); leaf node i=1 contains
    the range from cell ids (n,2n-1); and so on. The implication is that
    there are no direct lists of cell ids per leaf node, instead the cell
    ids are implicitly known. Despite the arbitrary grouping of cells, in
    practice this scalar tree actually performs quite well due to
    spatial/data coherence.
    
    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 potentially intersect the isocontour.
    These batches can then be processed in separate threads.
    
    @sa
    vtkScalarTree vtkSpanSpace
    """
    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 GetBranchingFactor(self): # real signature unknown; restored from __doc__
        """
        GetBranchingFactor(self) -> int
        C++: virtual int GetBranchingFactor()
        """
        return 0

    def GetBranchingFactorMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetBranchingFactorMaxValue(self) -> int
        C++: virtual int GetBranchingFactorMaxValue()
        """
        return 0

    def GetBranchingFactorMinValue(self): # real signature unknown; restored from __doc__
        """
        GetBranchingFactorMinValue(self) -> int
        C++: virtual int GetBranchingFactorMinValue()
        """
        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 GetLevel(self): # real signature unknown; restored from __doc__
        """
        GetLevel(self) -> int
        C++: virtual int GetLevel()
        
        Get the level of the scalar tree. This value may change each time
        the scalar tree is built and the branching factor changes.
        """
        return 0

    def GetMaxLevel(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevel(self) -> int
        C++: virtual int GetMaxLevel()
        """
        return 0

    def GetMaxLevelMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevelMaxValue(self) -> int
        C++: virtual int GetMaxLevelMaxValue()
        """
        return 0

    def GetMaxLevelMinValue(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevelMinValue(self) -> int
        C++: virtual int GetMaxLevelMinValue()
        """
        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 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 Initialize(self): # real signature unknown; restored from __doc__
        """
        Initialize(self) -> None
        C++: void Initialize() override;
        
        Initialize locator. 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 likely have scalar values that span the scalar value
        specified.
        """
        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) -> vtkSimpleScalarTree
        C++: vtkSimpleScalarTree *NewInstance()
        """
        return vtkSimpleScalarTree

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkSimpleScalarTree
        C++: static vtkSimpleScalarTree *SafeDownCast(vtkObjectBase *o)
        """
        return vtkSimpleScalarTree

    def SetBranchingFactor(self, _arg): # real signature unknown; restored from __doc__
        """
        SetBranchingFactor(self, _arg:int) -> None
        C++: virtual void SetBranchingFactor(int _arg)
        
        Set the branching factor for the tree. This is the number of
        children per tree node. Smaller values (minimum is 2) mean deeper
        trees and more memory overhead. Larger values mean shallower
        trees, less memory usage, but worse performance.
        """
        pass

    def SetMaxLevel(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMaxLevel(self, _arg:int) -> None
        C++: virtual void SetMaxLevel(int _arg)
        
        Set the maximum allowable level for the tree.
        """
        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__': 'vtkSimpleScalarTree', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'ShallowCopy': <method 'ShallowCopy' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'SetBranchingFactor': <method 'SetBranchingFactor' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetBranchingFactorMinValue': <method 'GetBranchingFactorMinValue' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetBranchingFactorMaxValue': <method 'GetBranchingFactorMaxValue' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetBranchingFactor': <method 'GetBranchingFactor' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetLevel': <method 'GetLevel' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'SetMaxLevel': <method 'SetMaxLevel' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetMaxLevelMinValue': <method 'GetMaxLevelMinValue' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetMaxLevelMaxValue': <method 'GetMaxLevelMaxValue' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetMaxLevel': <method 'GetMaxLevel' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'BuildTree': <method 'BuildTree' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'Initialize': <method 'Initialize' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'InitTraversal': <method 'InitTraversal' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetNumberOfCellBatches': <method 'GetNumberOfCellBatches' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, 'GetCellBatch': <method 'GetCellBatch' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF82F4E94B0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkCommonExecutionModel.vtkSimpleScalarTree' objects>, '__doc__': 'vtkSimpleScalarTree - organize data according to scalar values (used\\nto accelerate contouring operations)\\n\\nSuperclass: vtkScalarTree\\n\\nvtkSimpleScalarTree creates a pointerless binary tree that helps\\nsearch for cells that lie within a particular scalar range. This\\nobject is used to accelerate some contouring (and other scalar-based\\ntechniques).\\n\\nThe tree consists of an array of (min,max) scalar range pairs per\\nnode in the tree. The (min,max) range is determined from looking at\\nthe range of the children of the tree node. If the node is a leaf,\\nthen the range is determined by scanning the range of scalar data in\\nn cells in the dataset. The n cells are determined by arbitrary\\nselecting cell ids from id(i) to id(i+n), and where n is specified\\nusing the BranchingFactor ivar. Note that leaf node i=0 contains the\\nscalar range computed from cell ids (0,n-1); leaf node i=1 contains\\nthe range from cell ids (n,2n-1); and so on. The implication is that\\nthere are no direct lists of cell ids per leaf node, instead the cell\\nids are implicitly known. Despite the arbitrary grouping of cells, in\\npractice this scalar tree actually performs quite well due to\\nspatial/data coherence.\\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 potentially intersect the isocontour.\\nThese batches can then be processed in separate threads.\\n\\n@sa\\nvtkScalarTree vtkSpanSpace\\n\\n'})"
    __vtkname__ = 'vtkSimpleScalarTree'


