Bug in CheckLoops method. Better handling internal and external loops.

Issue #609 resolved
Roman Telezhynskyi repo owner created an issue

Because a detail path can be started from any point and all points are equal it is possible to start a path from inside a loop. Originally code was not designed to correctly handle such case. Because of that it thinks that we alwayse on main path and meat a loop. After this correct main path will be cutted from path where we expect opposite result.

There are several cases i have found we should handle. Two for parallel intersection and two for bound intersection. A loop can be internal and external. An internal loop has the same direction as main loop. An external loop has opposite.

Comments (1)

  1. Log in to comment