Closed amoodie closed 3 years ago
forbiddenCells
looks viable. Might take a lot of lines to account for all the combinations of propagation direction and crossover potential, but as long as it's systematic, should be fine.intersections.m
to locate self-intersections after the fact.
@alimaye pointed out a diagonal crossover case in channel routing. I agree that this is unrealistic, but what is the mention of this in the original paper?
Question is should we prohibit these crossover channels from forming?
If we do want to prevent them, my suggestion is that the simplest way to prevent them is to hook on to the
forbiddenCells
approach inpropagateAvulsion
and simply prohibit diagonal crossover forming during avulsion pathfinding. Something likewould work and be fast enough (avulsion pathfinding isn't so common that is should matter.
I'll take a closer look at the intersection finding, but I'm struggling to think how it would be implemented: once you find an intersection, how do you disconnect the looped section? You would still need to walk the pathway from the intersection, and unmark the various arrays along the way, I think. Likely, I'm just missing something there though.
Originally posted by @amoodie in https://github.com/alimaye/sun-fan-delta-model/issues/9#issuecomment-898631336