/* * private void SetPriority(TraceGlobe trace) * { * List<NodeDistanceBase> lst = nodeDistanceDict.Values.ToList(); * * lst.Sort(NodeDistanceBase.CompareBaseByDist); * int countNd = lst.Count; * * int curPrior = 99; * * foreach (NodeDistanceBase disBase in lst) * { * processNode = nodeList.Find(element => element.name == disBase.name); * List<int> priorites = nodeDistanceDict[processNode.name].GetPriorites(processNode.arcCollection.Count, curPrior); * if (priorites.Count > 0) * curPrior = priorites.Last() - 1; * List<int> idxPass = new List<int>(); * for (int i = 0; i < processNode.arcCollection.Count; i++) * { * int idx = nodeDistanceDict[disBase.name].GetNumber(i); * Contact cnt = processNode.arcCollection[i]; * * if ( idxPass.FindIndex(el => el == idx) < 0 ) * { * idxPass.Add(idx); * trace.SpreadWave(new ContactSimple(processNode.arcCollection[idx])); * } * } * } * }*/ public void AddContactsFromPRN(string inName) { string fileName = inName + "_SMALL.prn"; if (!System.IO.File.Exists(fileName)) { Console.WriteLine("No extra file with contacts"); return; } List <ContactNamed> allCotacts = new List <ContactNamed>(); System.Text.Encoding enc = System.Text.Encoding.GetEncoding(1251); string[] fileStrings = System.IO.File.ReadAllLines(fileName, enc); List <LineStruct> borders = FindCellBorder(fileStrings); List <ContactNamed> namedCotacts = FindInputOutput(fileStrings, borders); trace.AddNamedPins(namedCotacts); }