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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkDicer(__vtkmodules_vtkCommonExecutionModel.vtkDataSetAlgorithm):
    """
    vtkDicer - abstract superclass to divide dataset into pieces
    
    Superclass: vtkDataSetAlgorithm
    
    Subclasses of vtkDicer divides the input dataset into separate
    pieces.  These pieces can then be operated on by other filters (e.g.,
    vtkThreshold). One application is to break very large polygonal
    models into pieces and performing viewing and occlusion culling on
    the pieces. Multiple pieces can also be streamed through the
    visualization pipeline.
    
    To use this filter, you must specify the execution mode of the
    filter; i.e., set the way that the piece size is controlled (do this
    by setting the DiceMode ivar). The filter does not change the
    geometry or topology of the input dataset, rather it generates
    integer numbers that indicate which piece a particular point belongs
    to (i.e., it modifies the point and cell attribute data). The integer
    number can be placed into the output scalar data, or the output field
    data.
    
    @warning
    The number of pieces generated may not equal the specified number of
    pieces. Use the method GetNumberOfActualPieces() after filter
    execution to get the actual number of pieces generated.
    
    @sa
    vtkOBBDicer vtkConnectedDicer vtkSpatialDicer
    """
    def FieldDataOff(self):
        """
        V.FieldDataOff()
        C++: virtual void FieldDataOff()
        
        Set/Get the flag which controls whether to generate point scalar
        data or point field data. If this flag is off, scalar data is
        generated.  Otherwise, field data is generated. Note that the
        generated the data are integer numbers indicating which piece a
        particular point belongs to.
        """
        ...
    
    def FieldDataOn(self):
        """
        V.FieldDataOn()
        C++: virtual void FieldDataOn()
        
        Set/Get the flag which controls whether to generate point scalar
        data or point field data. If this flag is off, scalar data is
        generated.  Otherwise, field data is generated. Note that the
        generated the data are integer numbers indicating which piece a
        particular point belongs to.
        """
        ...
    
    def GetDiceMode(self):
        """
        V.GetDiceMode() -> int
        C++: virtual int GetDiceMode()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def GetDiceModeMaxValue(self):
        """
        V.GetDiceModeMaxValue() -> int
        C++: virtual int GetDiceModeMaxValue()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def GetDiceModeMinValue(self):
        """
        V.GetDiceModeMinValue() -> int
        C++: virtual int GetDiceModeMinValue()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def GetFieldData(self):
        """
        V.GetFieldData() -> int
        C++: virtual vtkTypeBool GetFieldData()
        
        Set/Get the flag which controls whether to generate point scalar
        data or point field data. If this flag is off, scalar data is
        generated.  Otherwise, field data is generated. Note that the
        generated the data are integer numbers indicating which piece a
        particular point belongs to.
        """
        ...
    
    def GetMemoryLimit(self):
        """
        V.GetMemoryLimit() -> int
        C++: virtual unsigned long GetMemoryLimit()
        
        Control piece size based on a memory limit.  (This ivar has
        effect only when the DiceMode is set to
        SetDiceModeToMemoryLimit()). The memory limit should be set in
        kibibytes (1024 bytes).
        """
        ...
    
    def GetMemoryLimitMaxValue(self):
        """
        V.GetMemoryLimitMaxValue() -> int
        C++: virtual unsigned long GetMemoryLimitMaxValue()
        
        Control piece size based on a memory limit.  (This ivar has
        effect only when the DiceMode is set to
        SetDiceModeToMemoryLimit()). The memory limit should be set in
        kibibytes (1024 bytes).
        """
        ...
    
    def GetMemoryLimitMinValue(self):
        """
        V.GetMemoryLimitMinValue() -> int
        C++: virtual unsigned long GetMemoryLimitMinValue()
        
        Control piece size based on a memory limit.  (This ivar has
        effect only when the DiceMode is set to
        SetDiceModeToMemoryLimit()). The memory limit should be set in
        kibibytes (1024 bytes).
        """
        ...
    
    def GetNumberOfActualPieces(self):
        """
        V.GetNumberOfActualPieces() -> int
        C++: virtual int GetNumberOfActualPieces()
        
        Use the following method after the filter has updated to
        determine the actual number of pieces the data was separated
        into.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        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.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> 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.
        """
        ...
    
    def GetNumberOfPieces(self):
        """
        V.GetNumberOfPieces() -> int
        C++: virtual int GetNumberOfPieces()
        
        Set/Get the number of pieces the object is to be separated into.
        (This ivar has effect only when the DiceMode is set to
        SetDiceModeToSpecifiedNumber()). Note that the ivar
        NumberOfPieces is a target - depending on the particulars of the
        data, more or less number of pieces than the target value may be
        created.
        """
        ...
    
    def GetNumberOfPiecesMaxValue(self):
        """
        V.GetNumberOfPiecesMaxValue() -> int
        C++: virtual int GetNumberOfPiecesMaxValue()
        
        Set/Get the number of pieces the object is to be separated into.
        (This ivar has effect only when the DiceMode is set to
        SetDiceModeToSpecifiedNumber()). Note that the ivar
        NumberOfPieces is a target - depending on the particulars of the
        data, more or less number of pieces than the target value may be
        created.
        """
        ...
    
    def GetNumberOfPiecesMinValue(self):
        """
        V.GetNumberOfPiecesMinValue() -> int
        C++: virtual int GetNumberOfPiecesMinValue()
        
        Set/Get the number of pieces the object is to be separated into.
        (This ivar has effect only when the DiceMode is set to
        SetDiceModeToSpecifiedNumber()). Note that the ivar
        NumberOfPieces is a target - depending on the particulars of the
        data, more or less number of pieces than the target value may be
        created.
        """
        ...
    
    def GetNumberOfPointsPerPiece(self):
        """
        V.GetNumberOfPointsPerPiece() -> int
        C++: virtual int GetNumberOfPointsPerPiece()
        
        Control piece size based on the maximum number of points per
        piece. (This ivar has effect only when the DiceMode is set to
        SetDiceModeToNumberOfPoints().)
        """
        ...
    
    def GetNumberOfPointsPerPieceMaxValue(self):
        """
        V.GetNumberOfPointsPerPieceMaxValue() -> int
        C++: virtual int GetNumberOfPointsPerPieceMaxValue()
        
        Control piece size based on the maximum number of points per
        piece. (This ivar has effect only when the DiceMode is set to
        SetDiceModeToNumberOfPoints().)
        """
        ...
    
    def GetNumberOfPointsPerPieceMinValue(self):
        """
        V.GetNumberOfPointsPerPieceMinValue() -> int
        C++: virtual int GetNumberOfPointsPerPieceMinValue()
        
        Control piece size based on the maximum number of points per
        piece. (This ivar has effect only when the DiceMode is set to
        SetDiceModeToNumberOfPoints().)
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> 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.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> 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.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkDicer
        C++: vtkDicer *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkDicer
        C++: static vtkDicer *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetDiceMode(self, p_int):
        """
        V.SetDiceMode(int)
        C++: virtual void SetDiceMode(int _arg)
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def SetDiceModeToMemoryLimitPerPiece(self):
        """
        V.SetDiceModeToMemoryLimitPerPiece()
        C++: void SetDiceModeToMemoryLimitPerPiece()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def SetDiceModeToNumberOfPointsPerPiece(self):
        """
        V.SetDiceModeToNumberOfPointsPerPiece()
        C++: void SetDiceModeToNumberOfPointsPerPiece()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def SetDiceModeToSpecifiedNumberOfPieces(self):
        """
        V.SetDiceModeToSpecifiedNumberOfPieces()
        C++: void SetDiceModeToSpecifiedNumberOfPieces()
        
        Specify the method to determine how many pieces the data should
        be broken into. By default, the number of points per piece is
        used.
        """
        ...
    
    def SetFieldData(self, p_int):
        """
        V.SetFieldData(int)
        C++: virtual void SetFieldData(vtkTypeBool _arg)
        
        Set/Get the flag which controls whether to generate point scalar
        data or point field data. If this flag is off, scalar data is
        generated.  Otherwise, field data is generated. Note that the
        generated the data are integer numbers indicating which piece a
        particular point belongs to.
        """
        ...
    
    def SetMemoryLimit(self, p_int):
        """
        V.SetMemoryLimit(int)
        C++: virtual void SetMemoryLimit(unsigned long _arg)
        
        Control piece size based on a memory limit.  (This ivar has
        effect only when the DiceMode is set to
        SetDiceModeToMemoryLimit()). The memory limit should be set in
        kibibytes (1024 bytes).
        """
        ...
    
    def SetNumberOfPieces(self, p_int):
        """
        V.SetNumberOfPieces(int)
        C++: virtual void SetNumberOfPieces(int _arg)
        
        Set/Get the number of pieces the object is to be separated into.
        (This ivar has effect only when the DiceMode is set to
        SetDiceModeToSpecifiedNumber()). Note that the ivar
        NumberOfPieces is a target - depending on the particulars of the
        data, more or less number of pieces than the target value may be
        created.
        """
        ...
    
    def SetNumberOfPointsPerPiece(self, p_int):
        """
        V.SetNumberOfPointsPerPiece(int)
        C++: virtual void SetNumberOfPointsPerPiece(int _arg)
        
        Control piece size based on the maximum number of points per
        piece. (This ivar has effect only when the DiceMode is set to
        SetDiceModeToNumberOfPoints().)
        """
        ...
    
    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__ = ...


