Community
Participate
Working Groups
A path which starts on the border of an obstacle should go straight to its destination unless that requires it to travel back through the obstacle which it originates from. For example, the carry-over wires in the 4-bit adder loop back up to the next adder. Possible solution may be to move the path endpoint out 1 pixel, or modify the obstacle intersection test.
Changed the definition of segment intersection with an obstacle to be: 1) segment touches the obstacles diagonal OR 2) an endpoint of the segment is properly contained inside the obstacle. This allows a segment starting on a border to avoid that obstacle. When generating segments between an endpoint vertex and the obstacle, need to handle this special case.