How can I make the link routing (AvoidsNodes) take nodes that are children of other nodes into account (not members of the Document.Layer). It seems that you have to use GoSubGraph, but that isn’t quite the behavior I want.
It sounds like you have subgraphs without using GoSubGraph. Do you want the links routed in between these sub-nodes, or around the parent?
Here is a screenshot. GoSubGraph doesn’t work because I want to be able to reparent between subgraphs and I want the bounds of the subgraph to be fixed (not calculated by the bounds of the children). Every time I tried overriding methods I started to get funky behavior.
The SwimmingPool class in Demo1 does what you want in terms of subgraph behavior.
You can override GoDocument.IsAvoidable, but you can’t do that on a per-link basis. And there is caching of the internal “avoidable structures” that would make per-link-avoidable-nodes way too slow.