ideasman42 / isect_segments-bentley_ottmann

BentleyOttmann sweep-line implementation (for finding all intersections in a set of line segments)
MIT License
91 stars 40 forks source link

Add Event.__hash__ to ensure results are consistent. #9

Closed nedbat closed 7 years ago

nedbat commented 7 years ago

Non-deterministic results are because Event is being hashed by memory address. This means equal sets of events are iterated in different orders. This makes the results repeatable, but it also seems like it means ties are being broken based on iteration order, which seems less than ideal.

This fixes #7.