Example #1
0
        private void PasteTriangles()
        {
            List <List <string> > lines = ParsingUtilities.ParseLines(Clipboard.GetText());

            if (lines.Count != 10)
            {
                return;
            }
            int numWords = lines[0].Count;

            if (numWords == 0)
            {
                return;
            }
            if (lines.Any(line => line.Count != numWords))
            {
                return;
            }

            for (int wordIndex = 0; wordIndex < numWords; wordIndex++)
            {
                uint       triAddress = ParsingUtilities.ParseHexNullable(lines[0][wordIndex]) ?? 0;
                List <int> coords     = lines.Skip(1).ToList().ConvertAll(line => ParsingUtilities.ParseInt(line[wordIndex]));
                TriangleOffsetsConfig.SetX1((short)coords[0], triAddress);
                TriangleOffsetsConfig.SetY1((short)coords[1], triAddress);
                TriangleOffsetsConfig.SetZ1((short)coords[2], triAddress);
                TriangleOffsetsConfig.SetX2((short)coords[3], triAddress);
                TriangleOffsetsConfig.SetY2((short)coords[4], triAddress);
                TriangleOffsetsConfig.SetZ2((short)coords[5], triAddress);
                TriangleOffsetsConfig.SetX3((short)coords[6], triAddress);
                TriangleOffsetsConfig.SetY3((short)coords[7], triAddress);
                TriangleOffsetsConfig.SetZ3((short)coords[8], triAddress);
                UpdateBasedOnCoordinates(
                    triAddress,
                    coords[0], coords[1], coords[2],
                    coords[3], coords[4], coords[5],
                    coords[6], coords[7], coords[8]);
            }
        }