Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
 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();
     }
 }
Exemple #3
0
        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();
            }
        }