/// <summary> /// Removes the overlap with default settings. /// </summary> /// <param name="graph"></param> /// <param name="nodeSeparation"></param> public static void RemoveOverlaps(GeometryGraph graph, double nodeSeparation) { var settings = new OverlapRemovalSettings { RandomizeAllPointsOnStart = true, NodeSeparation = nodeSeparation }; var mst = new OverlapRemoval(settings); mst.RemoveOverlap(graph); }
void FindOverlapsWithInterval(int i) { if (_intervalTree == null) { return; } var interval = GetInterval(i); foreach (int j in _intervalTree.GetAllIntersecting(interval)) { var tuple = OverlapRemoval.GetIdealEdgeLength(i, j, _nodePositions[i], _nodePositions[j], _nodeSizes); if (!(tuple.Item3 > 1)) { return; } _proximityEdges.Add(tuple); _numberOfOverlaps++; } }