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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkSphereTreeFilter(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkSphereTreeFilter - represent a sphere tree as vtkPolyData
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkSphereTreeFilter is a filter that produces a vtkPolyData
    representation of a sphere tree (vtkSphereTree). Basically it
    generates a point, a scalar radius, and tree level number for the
    cell spheres and/or the different levels in the tree hierarchy
    (assuming that the hierarchy is built). The output can be glyphed
    using a filter like vtkGlyph3D to actually visualize the sphere tree.
    The primary use of this class is for visualization of sphere trees,
    and debugging the construction and use of sphere trees.
    
    Additional capabilities include production of candidate spheres based
    on geometric queries. For example, queries based on a point, infinite
    line, and infinite plane are possible.
    
    Note that this class may create a sphere tree, and then build it, for
    the input dataset to this filter (if no sphere tree is provided). If
    the user specifies a sphere tree, then the specified sphere tree is
    used. Thus the input to the filter is optional. Consequently this
    filter can act like a source, or as a filter in a pipeline.
    
    @sa
    vtkSphereTree vtkPlaneCutter
    """
    def GetExtractionMode(self):
        """
        V.GetExtractionMode() -> int
        C++: virtual int GetExtractionMode()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def GetExtractionModeAsString(self):
        """
        V.GetExtractionModeAsString() -> string
        C++: const char *GetExtractionModeAsString()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def GetLevel(self):
        """
        V.GetLevel() -> int
        C++: virtual int GetLevel()
        
        Specify the level of the tree to extract (used when
        ExtractionMode is set to Levels). A value of (-1) means all
        levels. Note that level 0 is the root of the sphere tree. By
        default all levels are extracted. Note that if TreeHierarchy is
        off, then it is only possible to extract leaf spheres (i.e.,
        spheres for each cell of the associated dataset).
        """
        ...
    
    def GetLevelMaxValue(self):
        """
        V.GetLevelMaxValue() -> int
        C++: virtual int GetLevelMaxValue()
        
        Specify the level of the tree to extract (used when
        ExtractionMode is set to Levels). A value of (-1) means all
        levels. Note that level 0 is the root of the sphere tree. By
        default all levels are extracted. Note that if TreeHierarchy is
        off, then it is only possible to extract leaf spheres (i.e.,
        spheres for each cell of the associated dataset).
        """
        ...
    
    def GetLevelMinValue(self):
        """
        V.GetLevelMinValue() -> int
        C++: virtual int GetLevelMinValue()
        
        Specify the level of the tree to extract (used when
        ExtractionMode is set to Levels). A value of (-1) means all
        levels. Note that level 0 is the root of the sphere tree. By
        default all levels are extracted. Note that if TreeHierarchy is
        off, then it is only possible to extract leaf spheres (i.e.,
        spheres for each cell of the associated dataset).
        """
        ...
    
    def GetMTime(self):
        """
        V.GetMTime() -> int
        C++: vtkMTimeType GetMTime() override;
        
        Modified GetMTime because the sphere tree may have changed.
        """
        ...
    
    def GetNormal(self):
        """
        V.GetNormal() -> (float, float, float)
        C++: virtual double *GetNormal()
        
        Specify a plane used to extract spheres (used when ExtractionMode
        is set to Plane). The plane Normal plus Point define an infinite
        plane.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def GetPoint(self):
        """
        V.GetPoint() -> (float, float, float)
        C++: virtual double *GetPoint()
        
        Specify a point used to extract one or more leaf spheres. This
        method is used when extracting spheres using a point, line, or
        plane.
        """
        ...
    
    def GetRay(self):
        """
        V.GetRay() -> (float, float, float)
        C++: virtual double *GetRay()
        
        Specify a line used to extract spheres (used when ExtractionMode
        is set to Line). The Ray plus Point define an infinite line. The
        ray is a vector defining the direction of the line.
        """
        ...
    
    def GetSphereTree(self):
        """
        V.GetSphereTree() -> vtkSphereTree
        C++: virtual vtkSphereTree *GetSphereTree()
        
        Specify and retrieve the sphere tree.
        """
        ...
    
    def GetTreeHierarchy(self):
        """
        V.GetTreeHierarchy() -> bool
        C++: virtual bool GetTreeHierarchy()
        
        Enable or disable the building and generation of the sphere tree
        hierarchy. The hierarchy represents different levels in the tree
        and enables rapid traversal of the tree.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkSphereTreeFilter
        C++: vtkSphereTreeFilter *NewInstance()
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkSphereTreeFilter
        C++: static vtkSphereTreeFilter *SafeDownCast(vtkObjectBase *o)
        
        Standard type related macros and PrintSelf() method.
        """
        ...
    
    def SetExtractionMode(self, p_int):
        """
        V.SetExtractionMode(int)
        C++: virtual void SetExtractionMode(int _arg)
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def SetExtractionModeToLevels(self):
        """
        V.SetExtractionModeToLevels()
        C++: void SetExtractionModeToLevels()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def SetExtractionModeToLine(self):
        """
        V.SetExtractionModeToLine()
        C++: void SetExtractionModeToLine()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def SetExtractionModeToPlane(self):
        """
        V.SetExtractionModeToPlane()
        C++: void SetExtractionModeToPlane()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def SetExtractionModeToPoint(self):
        """
        V.SetExtractionModeToPoint()
        C++: void SetExtractionModeToPoint()
        
        Specify what information this filter is to extract from the
        sphere tree. Options include: spheres that make up one or more
        levels; spheres that intersect a specified plane; spheres that
        intersect a specified line; and spheres that intersect a
        specified point. What is extracted are sphere centers, a radius,
        and an optional level. By default the specified levels are
        extracted.
        """
        ...
    
    def SetLevel(self, p_int):
        """
        V.SetLevel(int)
        C++: virtual void SetLevel(int _arg)
        
        Specify the level of the tree to extract (used when
        ExtractionMode is set to Levels). A value of (-1) means all
        levels. Note that level 0 is the root of the sphere tree. By
        default all levels are extracted. Note that if TreeHierarchy is
        off, then it is only possible to extract leaf spheres (i.e.,
        spheres for each cell of the associated dataset).
        """
        ...
    
    def SetNormal(self, p_float, p_float_1, p_float_2):
        """
        V.SetNormal(float, float, float)
        C++: virtual void SetNormal(double _arg1, double _arg2,
            double _arg3)
        V.SetNormal((float, float, float))
        C++: virtual void SetNormal(const double _arg[3])
        
        Specify a plane used to extract spheres (used when ExtractionMode
        is set to Plane). The plane Normal plus Point define an infinite
        plane.
        """
        ...
    
    def SetPoint(self, p_float, p_float_1, p_float_2):
        """
        V.SetPoint(float, float, float)
        C++: virtual void SetPoint(double _arg1, double _arg2,
            double _arg3)
        V.SetPoint((float, float, float))
        C++: virtual void SetPoint(const double _arg[3])
        
        Specify a point used to extract one or more leaf spheres. This
        method is used when extracting spheres using a point, line, or
        plane.
        """
        ...
    
    def SetRay(self, p_float, p_float_1, p_float_2):
        """
        V.SetRay(float, float, float)
        C++: virtual void SetRay(double _arg1, double _arg2, double _arg3)
        V.SetRay((float, float, float))
        C++: virtual void SetRay(const double _arg[3])
        
        Specify a line used to extract spheres (used when ExtractionMode
        is set to Line). The Ray plus Point define an infinite line. The
        ray is a vector defining the direction of the line.
        """
        ...
    
    def SetSphereTree(self, vtkSphereTree):
        """
        V.SetSphereTree(vtkSphereTree)
        C++: virtual void SetSphereTree(vtkSphereTree *)
        
        Specify and retrieve the sphere tree.
        """
        ...
    
    def SetTreeHierarchy(self, bool):
        """
        V.SetTreeHierarchy(bool)
        C++: virtual void SetTreeHierarchy(bool _arg)
        
        Enable or disable the building and generation of the sphere tree
        hierarchy. The hierarchy represents different levels in the tree
        and enables rapid traversal of the tree.
        """
        ...
    
    def TreeHierarchyOff(self):
        """
        V.TreeHierarchyOff()
        C++: virtual void TreeHierarchyOff()
        
        Enable or disable the building and generation of the sphere tree
        hierarchy. The hierarchy represents different levels in the tree
        and enables rapid traversal of the tree.
        """
        ...
    
    def TreeHierarchyOn(self):
        """
        V.TreeHierarchyOn()
        C++: virtual void TreeHierarchyOn()
        
        Enable or disable the building and generation of the sphere tree
        hierarchy. The hierarchy represents different levels in the tree
        and enables rapid traversal of the tree.
        """
        ...
    
    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__ = ...


