vtkmodules.util.graph#
Pythonic API for VTK graph and tree classes.
Adds iteration, len, repr, and convenient accessors::
g = vtkMutableDirectedGraph()
# ... build graph ...
len(g) # vertex count
for v in g: # iterate vertex ids
for s, t, eid in g.edges: # iterate edges as namedtuples
for n in g.neighbors(5): # adjacent vertex ids
g.vertex_data # vtkDataSetAttributes
g.edge_data # vtkDataSetAttributes
# Mutable graph construction:
g = vtkMutableDirectedGraph()
g.edges = np.array([[0, 1], [1, 2], [0, 3]])
g.vertex_data = {"weight": np.array([1.0, 2.0, 3.0, 4.0])}
g.edge_data = {"cost": np.array([0.5, 1.5, 2.5])}
# Tree-specific:
t.root # root vertex id
for c in t.children(v): # child vertex ids
t.parent(v) # parent vertex id
t.is_leaf(v) # bool
Module Contents#
Classes#
Functions#
Populate a vtkDataSetAttributes from a dict of {name: array}. |
Data#
API#
- vtkmodules.util.graph.Edge#
‘namedtuple(…)’
- class vtkmodules.util.graph._GraphMixin#
- __len__()#
- __iter__()#
- __repr__()#
- property vertices#
- property edges#
- property vertex_data#
- property edge_data#
- neighbors(v)#
- out_edges(v)#
- in_edges(v)#
- degree(v)#
- out_degree(v)#
- in_degree(v)#
- to_networkx()#
Convert to a networkx graph.
Returns an
nx.DiGraphfor directed graphs ornx.Graphfor undirected graphs. Vertex and edge data arrays are copied as node/edge attributes.
- class vtkmodules.util.graph._MutableGraphMixin#
Bases:
vtkmodules.util.graph._GraphMixin- property edges#
- property vertex_data#
- property edge_data#
- from_networkx(nx_graph)#
Populate this graph from a networkx graph.
Nodes must be contiguous integers
0..N-1. Usenetworkx.convert_node_labels_to_integers()first if needed.Existing vertices, edges, and data are replaced.
- vtkmodules.util.graph._set_arrays(dsa, arrays, num_tuples)#
Populate a vtkDataSetAttributes from a dict of {name: array}.
- class vtkmodules.util.graph._TreeMixin#
Bases:
vtkmodules.util.graph._GraphMixin- property root#
- parent(v)#
- children(v)#
- is_leaf(v)#
- level(v)#
- __repr__()#
- class vtkmodules.util.graph.DirectedGraph#
Bases:
vtkmodules.util.graph._GraphMixin,vtkmodules.vtkCommonDataModel.vtkDirectedGraph
- class vtkmodules.util.graph.MutableDirectedGraph#
Bases:
vtkmodules.util.graph._MutableGraphMixin,vtkmodules.vtkCommonDataModel.vtkMutableDirectedGraph
- class vtkmodules.util.graph.UndirectedGraph#
Bases:
vtkmodules.util.graph._GraphMixin,vtkmodules.vtkCommonDataModel.vtkUndirectedGraph
- class vtkmodules.util.graph.MutableUndirectedGraph#
Bases:
vtkmodules.util.graph._MutableGraphMixin,vtkmodules.vtkCommonDataModel.vtkMutableUndirectedGraph
- class vtkmodules.util.graph.DirectedAcyclicGraph#
Bases:
vtkmodules.util.graph._GraphMixin,vtkmodules.vtkCommonDataModel.vtkDirectedAcyclicGraph
- class vtkmodules.util.graph.Tree#
Bases:
vtkmodules.util.graph._TreeMixin,vtkmodules.vtkCommonDataModel.vtkTree