topology

Package containing topological algorithms for traversal, connectivity, combinatorics, etc.

Connectivity

adjacency_from_edges

Construct an adjacency dictionary from a set of edges.

Combinatorics

vertex_coloring

Color the vertices of a graph such that no two colors are adjacent.

connected_components

Identify the connected components of a graph.

Orientation

face_adjacency

Construct an adjacency dictionary of the given faces, assuming that the faces have arbitrary orientation.

face_adjacency_numpy

Construct an adjacency dictionary of the given faces, assuming that the faces have arbitrary orientation.

face_adjacency_rhino

Construct an adjacency dictionary of the given faces, assuming that the faces have arbitrary orientation.

unify_cycles

Unify the cycle directions of the given faces such that adjacent faces share opposite halfedges.

unify_cycles_numpy

Unify the cycle directions of the given faces such that adjacent faces share opposite halfedges.

unify_cycles_rhino

Unify the cycle directions of the given faces such that adjacent faces share opposite halfedges.

Traversal

astar_lightest_path

Find the path of least weight between two vertices of a graph using the A* search algorithm.

astar_shortest_path

Find the shortest path between two vertices of a graph or mesh using the A* search algorithm.

breadth_first_ordering

Compute a breadth-first ordering of the nodes of a graph, starting from a root node.

breadth_first_traverse

Traverse an adjacency dict in "breadth-first" order.

breadth_first_paths

Return all paths from root to goal.

depth_first_ordering

Compute a depth-first ordering of the nodes of a graph, starting from a root node.

dijkstra_distances

Compute Dijkstra distances from all nodes in a graph to one target node.

dijkstra_path

Find the shortest path between two nodes of a graph if the weights of the connecting edges are not all the same.

shortest_path

Find the shortest path between two vertices of a network.