Example #1
0
 internal void SelectEdges(List <Edge> passingEdges)
 {
     SelectedEdges.InsertRange(passingEdges);
     for (int i = _levels.Count - 1; i >= 0; i--)
     {
         SelectEdgesOnLevel(i, passingEdges);
     }
 }
Example #2
0
        internal void SelectEdges(List <Edge> passingEdges, int currentLayer)
        {
            SelectedEdges.InsertRange(passingEdges);

            foreach (Edge edge in passingEdges)
            {
                for (int i = 0; i <= currentLayer; i++)
                {
                    Set <Rail> railsOfEdge;
                    if (_levels[i]._railsOfEdges.TryGetValue(edge, out railsOfEdge))
                    {
                        var passingEdge = new List <Edge>();
                        passingEdge.Add(edge);
                        SelectEdgesOnLevel(i, passingEdge);
                    }
                }
            }
        }