Skip to content

Instantly share code, notes, and snippets.

@eric-wieser
Last active January 1, 2016 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eric-wieser/21856f063beb144aa38b to your computer and use it in GitHub Desktop.
Save eric-wieser/21856f063beb144aa38b to your computer and use it in GitHub Desktop.
face_list = set()
edge_list = set()
connections = defaultdict(set)
for a, b in edges:
connections[a] |= {b}
connections[b] |= {a}
common = connections[a] & connections[b]
for x in common:
forward_order = {(x, a),(a, b),(b, x)}
reverse_order = {(a, x),(x, b),(b, a)}
if not forward_order & edge_list:
face_list.add((x, a, b))
edge_list |= forward_order
elif not reverse_order & edge_list:
face_list.add((a, x, b))
edge_list |= reverse_order
else:
print "hmm"
face_list.add((b, x, a))
edge_list.update([(b, x),(x, a),(a, b)])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment