def convert_graph_directed_to_undirected(dg):
    """Converts a directed graph into an undirected graph. Directed edges are made undirected."""

    udg = UndirectedGraph()

    # Copy the graph
    # --Copy nodes
    # --Copy edges
    udg.nodes = copy.deepcopy(dg.nodes)
    udg.edges = copy.deepcopy(dg.edges)
    udg.next_node_id = dg.next_node_id
    udg.next_edge_id = dg.next_edge_id

    # Convert the directed edges into undirected edges
    for edge_id in udg.get_all_edge_ids():
        edge = udg.get_edge(edge_id)
        target_node_id = edge['vertices'][1]
        target_node = udg.get_node(target_node_id)
        target_node['edges'].append(edge_id)

    return udg
def convert_graph_directed_to_undirected ( dg ) : udg = UndirectedGraph ( ) udg . nodes = copy . deepcopy ( dg . nodes ) udg . edges = copy . deepcopy ( dg . edges ) udg . next_node_id = dg . next_node_id udg . next_edge_id = dg . next_edge_id for edge_id in udg . get_all_edge_ids ( ) : edge = udg . get_edge ( edge_id ) target_node_id = edge [ 'vertices' ] [ 1 ] target_node = udg . get_node ( target_node_id ) target_node [ 'edges' ] . append ( edge_id ) return udg
Converts a directed graph into an undirected graph. Directed edges are made undirected.