void ProcessThePathEndToMapAxisEdgesToTheirObstacles(Path path, Polyline endPolyline) { for (var edge = path.LastEdge; edge != null && CompassVector.DirectionsAreParallel(edge.Direction, NudgingDirection); edge = edge.Prev) { axisEdgesToObstaclesTheyOriginatedFrom[edge.AxisEdge] = endPolyline; } }
void ProcessThePathStartToMapAxisEdgesToTheirObstacles(Path path, Polyline startPolyline) { for (var edge = path.FirstEdge; edge != null && CompassVector.DirectionsAreParallel(edge.Direction, NudgingDirection); edge = edge.Next) { axisEdgesToObstaclesTheyOriginatedFrom[edge.AxisEdge] = startPolyline; } //possible bug here because an edge might ignore two obstacles if it connects them }