# encoding: utf-8
# module vtkmodules.vtkCommonDataModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonDataModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonMath as __vtkmodules_vtkCommonMath
import vtkmodules.vtkCommonTransforms as __vtkmodules_vtkCommonTransforms


from .vtkGraph import vtkGraph

class vtkUndirectedGraph(vtkGraph):
    """
    vtkUndirectedGraph - An undirected graph.
    
    Superclass: vtkGraph
    
    vtkUndirectedGraph is a collection of vertices along with a
    collection of undirected edges (they connect two vertices in no
    particular order). ShallowCopy(), DeepCopy(), CheckedShallowCopy(),
    CheckedDeepCopy() accept instances of vtkUndirectedGraph and
    vtkMutableUndirectedGraph. GetOutEdges(v, it) and GetInEdges(v, it)
    return the same list of edges, which is the list of all edges which
    have a v as an endpoint. GetInDegree(v), GetOutDegree(v) and
    GetDegree(v) all return the full degree of vertex v.
    
    vtkUndirectedGraph is read-only. To create an undirected graph, use
    an instance of vtkMutableUndirectedGraph, then you may set the
    structure to a vtkUndirectedGraph using ShallowCopy().
    
    @sa
    vtkGraph vtkMutableUndirectedGraph
    """
    def GetData(self, info): # real signature unknown; restored from __doc__
        """
        GetData(info:vtkInformation) -> vtkUndirectedGraph
        C++: static vtkUndirectedGraph *GetData(vtkInformation *info)
        GetData(v:vtkInformationVector, i:int=0) -> vtkUndirectedGraph
        C++: static vtkUndirectedGraph *GetData(vtkInformationVector *v,
            int i=0)
        
        Retrieve a graph from an information vector.
        """
        return vtkUndirectedGraph

    def GetDataObjectType(self): # real signature unknown; restored from __doc__
        """
        GetDataObjectType(self) -> int
        C++: int GetDataObjectType() override;
        
        Return what type of dataset this is.
        """
        return 0

    def GetInDegree(self, v): # real signature unknown; restored from __doc__
        """
        GetInDegree(self, v:int) -> int
        C++: vtkIdType GetInDegree(vtkIdType v) override;
        
        Returns the full degree of the vertex.
        """
        return 0

    def GetInEdge(self, v, i): # real signature unknown; restored from __doc__
        """
        GetInEdge(self, v:int, i:int) -> vtkInEdgeType
        C++: vtkInEdgeType GetInEdge(vtkIdType v, vtkIdType i) override;
        GetInEdge(self, v:int, i:int, e:vtkGraphEdge) -> None
        C++: void GetInEdge(vtkIdType v, vtkIdType i, vtkGraphEdge *e)
            override;
        
        Random-access method for retrieving the in edges of a vertex. For
        an undirected graph, this is the same as the out edges.
        """
        return vtkInEdgeType

    def GetInEdges(self, v, it): # real signature unknown; restored from __doc__
        """
        GetInEdges(self, v:int, it:vtkInEdgeIterator) -> None
        C++: void GetInEdges(vtkIdType v, vtkInEdgeIterator *it) override;
        
        Initialize the iterator to get the incoming edges to a vertex.
        For an undirected graph, this is all incident edges.
        """
        pass

    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 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 IsStructureValid(self, g): # real signature unknown; restored from __doc__
        """
        IsStructureValid(self, g:vtkGraph) -> bool
        C++: bool IsStructureValid(vtkGraph *g) override;
        
        Check the structure, and accept it if it is a valid undirected
        graph. This is public to allow the ToDirected/UndirectedGraph to
        work.
        """
        return False

    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) -> vtkUndirectedGraph
        C++: vtkUndirectedGraph *NewInstance()
        """
        return vtkUndirectedGraph

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkUndirectedGraph
        C++: static vtkUndirectedGraph *SafeDownCast(vtkObjectBase *o)
        """
        return vtkUndirectedGraph

    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__': 'vtkUndirectedGraph', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetDataObjectType': <method 'GetDataObjectType' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetInDegree': <method 'GetInDegree' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetInEdge': <method 'GetInEdge' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetData': <method 'GetData' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'GetInEdges': <method 'GetInEdges' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, 'IsStructureValid': <method 'IsStructureValid' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF81D654B20>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkCommonDataModel.vtkUndirectedGraph' objects>, '__doc__': 'vtkUndirectedGraph - An undirected graph.\\n\\nSuperclass: vtkGraph\\n\\nvtkUndirectedGraph is a collection of vertices along with a\\ncollection of undirected edges (they connect two vertices in no\\nparticular order). ShallowCopy(), DeepCopy(), CheckedShallowCopy(),\\nCheckedDeepCopy() accept instances of vtkUndirectedGraph and\\nvtkMutableUndirectedGraph. GetOutEdges(v, it) and GetInEdges(v, it)\\nreturn the same list of edges, which is the list of all edges which\\nhave a v as an endpoint. GetInDegree(v), GetOutDegree(v) and\\nGetDegree(v) all return the full degree of vertex v.\\n\\nvtkUndirectedGraph is read-only. To create an undirected graph, use\\nan instance of vtkMutableUndirectedGraph, then you may set the\\nstructure to a vtkUndirectedGraph using ShallowCopy().\\n\\n@sa\\nvtkGraph vtkMutableUndirectedGraph\\n\\n'})"
    __vtkname__ = 'vtkUndirectedGraph'


