# encoding: utf-8
# module vtkmodules.vtkInfovisLayout
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkInfovisLayout.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel


from .vtkGraphLayoutStrategy import vtkGraphLayoutStrategy

class vtkCosmicTreeLayoutStrategy(vtkGraphLayoutStrategy):
    """
    vtkCosmicTreeLayoutStrategy - tree layout strategy reminiscent of
    astronomical systems
    
    Superclass: vtkGraphLayoutStrategy
    
    This layout strategy takes an input tree and places all the children
    of a node into a containing circle. The placement is such that each
    child placed can be represented with a circle tangent to the
    containing circle and (usually) 2 other children. The interior of the
    circle is left empty so that graph edges drawn on top of the tree
    will not obfuscate the tree. However, when one child is much larger
    than all the others, it may encroach on the center of the containing
    circle; that's OK, because it's large enough not to be obscured by
    edges drawn atop it.
    
    @par Thanks: Thanks to the galaxy and David Thompson hierarchically
    nested inside it for inspiring this layout strategy.
    """
    def GetLayoutDepth(self): # real signature unknown; restored from __doc__
        """
        GetLayoutDepth(self) -> int
        C++: virtual int GetLayoutDepth()
        """
        return 0

    def GetLayoutRoot(self): # real signature unknown; restored from __doc__
        """
        GetLayoutRoot(self) -> int
        C++: virtual vtkIdType GetLayoutRoot()
        """
        return 0

    def GetNodeSizeArrayName(self): # real signature unknown; restored from __doc__
        """
        GetNodeSizeArrayName(self) -> str
        C++: virtual char *GetNodeSizeArrayName()
        """
        return ""

    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 GetSizeLeafNodesOnly(self): # real signature unknown; restored from __doc__
        """
        GetSizeLeafNodesOnly(self) -> int
        C++: virtual vtkTypeBool GetSizeLeafNodesOnly()
        """
        return 0

    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 Layout(self): # real signature unknown; restored from __doc__
        """
        Layout(self) -> None
        C++: void Layout() override;
        
        Perform the layout.
        """
        pass

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkCosmicTreeLayoutStrategy
        C++: vtkCosmicTreeLayoutStrategy *NewInstance()
        """
        return vtkCosmicTreeLayoutStrategy

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkCosmicTreeLayoutStrategy
        C++: static vtkCosmicTreeLayoutStrategy *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkCosmicTreeLayoutStrategy

    def SetLayoutDepth(self, _arg): # real signature unknown; restored from __doc__
        """
        SetLayoutDepth(self, _arg:int) -> None
        C++: virtual void SetLayoutDepth(int _arg)
        
        How many levels of the tree should be laid out? For large trees,
        you may wish to set the root and maximum depth in order to
        retrieve the layout for the visible portion of the tree. When
        this value is zero or negative, all nodes below and including the
        LayoutRoot will be presented. This defaults to 0.
        """
        pass

    def SetLayoutRoot(self, _arg): # real signature unknown; restored from __doc__
        """
        SetLayoutRoot(self, _arg:int) -> None
        C++: virtual void SetLayoutRoot(vtkIdType _arg)
        
        What is the top-most tree node to lay out? This node will become
        the largest containing circle in the layout. Use this in
        combination with SetLayoutDepth to retrieve the layout of a
        subtree of interest for rendering. Setting LayoutRoot to a
        negative number signals that the root node of the tree should be
        used as the root node of the layout. This defaults to -1.
        """
        pass

    def SetNodeSizeArrayName(self, _arg): # real signature unknown; restored from __doc__
        """
        SetNodeSizeArrayName(self, _arg:str) -> None
        C++: virtual void SetNodeSizeArrayName(const char *_arg)
        
        Set the array to be used for sizing nodes. If this is set to an
        empty string or nullptr (the default), then all leaf nodes (or
        all nodes, when SizeLeafNodesOnly is false) will be assigned a
        unit size.
        """
        pass

    def SetSizeLeafNodesOnly(self, _arg): # real signature unknown; restored from __doc__
        """
        SetSizeLeafNodesOnly(self, _arg:int) -> None
        C++: virtual void SetSizeLeafNodesOnly(vtkTypeBool _arg)
        
        Should node size specifications be obeyed at leaf nodes only or
        (with scaling as required to meet constraints) at every node in
        the tree? This defaults to true, so that leaf nodes are scaled
        according to the size specification provided, and the parent node
        sizes are calculated by the algorithm.
        """
        pass

    def SizeLeafNodesOnlyOff(self): # real signature unknown; restored from __doc__
        """
        SizeLeafNodesOnlyOff(self) -> None
        C++: virtual void SizeLeafNodesOnlyOff()
        """
        pass

    def SizeLeafNodesOnlyOn(self): # real signature unknown; restored from __doc__
        """
        SizeLeafNodesOnlyOn(self) -> None
        C++: virtual void SizeLeafNodesOnlyOn()
        """
        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__\': \'vtkCosmicTreeLayoutStrategy\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'Layout\': <method \'Layout\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SetSizeLeafNodesOnly\': <method \'SetSizeLeafNodesOnly\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetSizeLeafNodesOnly\': <method \'GetSizeLeafNodesOnly\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SizeLeafNodesOnlyOn\': <method \'SizeLeafNodesOnlyOn\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SizeLeafNodesOnlyOff\': <method \'SizeLeafNodesOnlyOff\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SetLayoutDepth\': <method \'SetLayoutDepth\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetLayoutDepth\': <method \'GetLayoutDepth\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SetLayoutRoot\': <method \'SetLayoutRoot\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetLayoutRoot\': <method \'GetLayoutRoot\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'SetNodeSizeArrayName\': <method \'SetNodeSizeArrayName\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'GetNodeSizeArrayName\': <method \'GetNodeSizeArrayName\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF856254130>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInfovisLayout.vtkCosmicTreeLayoutStrategy\' objects>, \'__doc__\': "vtkCosmicTreeLayoutStrategy - tree layout strategy reminiscent of\\nastronomical systems\\n\\nSuperclass: vtkGraphLayoutStrategy\\n\\nThis layout strategy takes an input tree and places all the children\\nof a node into a containing circle. The placement is such that each\\nchild placed can be represented with a circle tangent to the\\ncontaining circle and (usually) 2 other children. The interior of the\\ncircle is left empty so that graph edges drawn on top of the tree\\nwill not obfuscate the tree. However, when one child is much larger\\nthan all the others, it may encroach on the center of the containing\\ncircle; that\'s OK, because it\'s large enough not to be obscured by\\nedges drawn atop it.\\n\\n@par Thanks: Thanks to the galaxy and David Thompson hierarchically\\nnested inside it for inspiring this layout strategy.\\n\\n"})'
    __vtkname__ = 'vtkCosmicTreeLayoutStrategy'


