private void _parsePlates() { this.Plates = new List<TrsPlate>(); if (_find("[Plate0]") == false) { return; } currentLine++; while (Contents[currentLine].Contains("Plate")) { currentLine++; TrsPlate plateToAdd = new TrsPlate(); plateToAdd.JointNumber = Contents[currentLine++].Split('=').Last(); plateToAdd.PlateName = Contents[currentLine++].Split('=').Last(); plateToAdd.Cost = Contents[currentLine++].Split('=').Last(); plateToAdd.Use = Contents[currentLine++].Split('=').Last(); plateToAdd.Errors = Contents[currentLine++].Split('=').Last(); plateToAdd.Notes = Contents[currentLine++].Split('=').Last(); plateToAdd.NumDimensions = Contents[currentLine++].Split('=').Last(); plateToAdd.Points = new List<TrsPoint>(); string[] data = Contents[currentLine++].Split('=', '-', ','); for(int i = 1; i < data.Length; i += 2) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[i - 1]; pointToAdd.Y = data[i]; plateToAdd.Points.Add(pointToAdd); } plateToAdd.Mispositioned = new List<TrsPoint>(); data = Contents[currentLine++].Split('=', '-', ','); for (int i = 1; i < data.Length; i += 2) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[i - 1]; pointToAdd.Y = data[i]; plateToAdd.Mispositioned.Add(pointToAdd); } plateToAdd.UnMoved = new TrsPoint(); data = Contents[currentLine++].Split('=', '-', ','); plateToAdd.UnMoved.X = data[1]; plateToAdd.UnMoved.Y = data[2]; plateToAdd.JSI = Contents[currentLine++].Split('=').Last(); int numGrabs = Convert.ToInt32(Contents[currentLine++].Split('=').Last()); plateToAdd.Grabs = new List<TrsGrab>(); for(int i = 0; i < numGrabs; i++) { TrsGrab grabToAdd = new TrsGrab(); data = Contents[currentLine++].Split('=', '|', ','); grabToAdd.Pt = new TrsPoint(); grabToAdd.Pt.X = data[1]; grabToAdd.Pt.Y = data[2]; grabToAdd.Num1 = data[3]; grabToAdd.Num2 = data[4]; grabToAdd.Num3 = data[5]; grabToAdd.Num4 = data[6]; grabToAdd.Num5 = data[7]; grabToAdd.Num6 = data[8]; plateToAdd.Grabs.Add(grabToAdd); } } }
private void _parseBraces() { this.Braces = new List<TrsBrace>(); if (_find("[Braces]") == false) { return; } _updateLine(); while (Contents[currentLine].Contains("[") == false) { string[] data = Contents[currentLine].Split('=', '|', ','); TrsBrace braceToAdd = new TrsBrace(); braceToAdd.Points = new List<TrsPoint>(); for (int i = 2; i < data.Length; i += 2) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[i - 1]; pointToAdd.Y = data[i]; braceToAdd.Points.Add(pointToAdd); } Braces.Add(braceToAdd); _updateLine(); } }
private void _parseChords() { this.TopChords = new List<TrsChord>(); this.BottomChords = new List<TrsChord>(); this.Webs = new List<TrsChord>(); //Top _find("[TOP CHORDS]"); _updateLine(); while (Contents[currentLine].Contains("[TOP CHORDS-CHEEK]") == false) { if(Contents[currentLine].Contains("MaxSpGr")) { currentLine++; //ToDo: Read in MaxSpGr continue; } string[] data = Contents[currentLine].Split('=', '|', ','); TrsChord topChordToAdd = new TrsChord(); topChordToAdd.Type = data[1]; topChordToAdd.Depth = data[2]; topChordToAdd.NumPoints = data[3]; topChordToAdd.NA = data[4]; topChordToAdd.Points = new List<TrsPoint>(); int pointer = 4; for (int j = 1; j <= Convert.ToInt32(topChordToAdd.NumPoints); j++) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[pointer++]; pointToAdd.Y = data[pointer++]; topChordToAdd.Points.Add(pointToAdd); } topChordToAdd.Species = data[pointer++]; topChordToAdd.Grade = data[pointer]; if (Contents[currentLine + 1].Contains("flags")) { topChordToAdd.Flags = Contents[++currentLine].Split('=').Last(); } this.TopChords.Add(topChordToAdd); _updateLine(); } //Top-Cheek _updateLine(); for (int i = 0; i < TopChords.Count; i++) { string[] data = Contents[currentLine].Split('=', '|'); this.TopChords[i].Cheek = new TrsChordCheek(); this.TopChords[i].Cheek.Num1 = data[1]; this.TopChords[i].Cheek.Num2 = data[2]; this.TopChords[i].Cheek.Num3 = data[3]; this.TopChords[i].Cheek.Num4 = data[4]; this.TopChords[i].Cheek.Num5 = data[5]; this.TopChords[i].Cheek.Num6 = data[6]; this.TopChords[i].Cheek.Num7 = data[7]; this.TopChords[i].Cheek.Num8 = data[8]; _updateLine(); _updateLine(); } //Top-Notes while (Contents[currentLine].Contains("[TOP CHORDS-NOTES]") == false) { _updateLine(); } _updateLine(); for(int i = 0; i < TopChords.Count; i++) { this.TopChords[i].Notes = Contents[currentLine++].Split('=').Last(); } //Bottom while (Contents[currentLine].Contains("[BOTTOM CHORDS]") == false) { _updateLine(); } _updateLine(); //Bottom-Cheek while (Contents[currentLine].Contains("[BOTTOM CHORDS-CHEEK]") == false) { if (Contents[currentLine].Contains("MaxSpGr")) { currentLine++; //ToDo: Read in MaxSpGr continue; } string[] data = Contents[currentLine].Split('=', '|', ','); TrsChord bottomChordToAdd = new TrsChord(); bottomChordToAdd.Type = data[1]; bottomChordToAdd.Depth = data[2]; bottomChordToAdd.NumPoints = data[3]; bottomChordToAdd.NA = data[4]; bottomChordToAdd.Points = new List<TrsPoint>(); int pointer = 4; for (int j = 1; j <= Convert.ToInt32(bottomChordToAdd.NumPoints); j++) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[pointer++]; pointToAdd.Y = data[pointer++]; bottomChordToAdd.Points.Add(pointToAdd); } bottomChordToAdd.Species = data[pointer++]; bottomChordToAdd.Grade = data[pointer]; if (Contents[currentLine + 1].Contains("flags")) { bottomChordToAdd.Flags = Contents[++currentLine].Split('=').Last(); } this.BottomChords.Add(bottomChordToAdd); _updateLine(); } _updateLine(); for (int i = 0; i < BottomChords.Count; i++) { string[] data = Contents[currentLine].Split('=', '|'); this.BottomChords[i].Cheek = new TrsChordCheek(); this.BottomChords[i].Cheek.Num1 = data[1]; this.BottomChords[i].Cheek.Num2 = data[2]; this.BottomChords[i].Cheek.Num3 = data[3]; this.BottomChords[i].Cheek.Num4 = data[4]; this.BottomChords[i].Cheek.Num5 = data[5]; this.BottomChords[i].Cheek.Num6 = data[6]; this.BottomChords[i].Cheek.Num7 = data[7]; this.BottomChords[i].Cheek.Num8 = data[8]; _updateLine(); _updateLine(); } //Bottom-Notes while (Contents[currentLine].Contains("[BOTTOM CHORDS-NOTES]") == false) { _updateLine(); } _updateLine(); for (int i = 0; i < BottomChords.Count; i++) { this.BottomChords[i].Notes = Contents[currentLine].Split('=').Last(); _updateLine(); } while (Contents[currentLine].Contains("[WEBS]") == false) { _updateLine(); } _updateLine(); //Webs while (Contents[currentLine].Contains("[WEBS-CHEEK]") == false) { if (Contents[currentLine].Contains("MaxSpGr")) { currentLine++; //ToDo: Read in MaxSpGr continue; } string[] data = Contents[currentLine].Split('=', '|', ','); TrsChord webToAdd = new TrsChord(); webToAdd.Type = data[1]; webToAdd.Depth = data[2]; webToAdd.NumPoints = data[3]; webToAdd.NA = data[4]; webToAdd.Points = new List<TrsPoint>(); int pointer = 4; for (int j = 1; j <= Convert.ToInt32(webToAdd.NumPoints); j++) { TrsPoint pointToAdd = new TrsPoint(); pointToAdd.X = data[pointer++]; pointToAdd.Y = data[pointer++]; webToAdd.Points.Add(pointToAdd); } webToAdd.Species = data[pointer++]; webToAdd.Grade = data[pointer]; if(Contents[currentLine+1].Contains("flags")) { webToAdd.Flags = Contents[++currentLine].Split('=').Last(); } this.Webs.Add(webToAdd); _updateLine(); } _updateLine(); //Web-Cheek for (int i = 0; i < Webs.Count; i++) { string[] data = Contents[currentLine].Split('=', '|'); this.Webs[i].Cheek = new TrsChordCheek(); this.Webs[i].Cheek.Num1 = data[1]; this.Webs[i].Cheek.Num2 = data[2]; this.Webs[i].Cheek.Num3 = data[3]; this.Webs[i].Cheek.Num4 = data[4]; this.Webs[i].Cheek.Num5 = data[5]; this.Webs[i].Cheek.Num6 = data[6]; this.Webs[i].Cheek.Num7 = data[7]; this.Webs[i].Cheek.Num8 = data[8]; _updateLine(); _updateLine(); } //Web-Notes while (Contents[currentLine].Contains("[WEBS-NOTES]") == false) { _updateLine(); } _updateLine(); for (int i = 0; i < Webs.Count; i++) { this.Webs[i].Notes = Contents[currentLine].Split('=').Last(); _updateLine(); } }