private static List ImportAscii()

in unity/Assets/Scripts/pb_Stl/pb_Stl_Importer.cs [128:183]


        private static List<Mesh> ImportAscii(string path) {
            List<Facet> facets = new List<Facet>();

            using (StreamReader sr = new StreamReader(path)) {
                string line;
                int state = EMPTY, vertex = 0;
                Facet f = null;
                bool exit = false;

                while (sr.Peek() > 0 && !exit) {
                    line = sr.ReadLine().Trim();
                    int previousState = state;
                    state = ReadState(line);

                    switch (state) {
                    case SOLID:
                        continue;

                    case FACET:
                        f = new Facet();
                        f.normal = StringToVec3(line.Replace("facet normal ", ""));
                        break;

                    case OUTER:
                        vertex = 0;
                        break;

                    case VERTEX:
                        // maintain counter-clockwise orientation of vertices:
                        if (vertex == 0) f.a = StringToVec3(line.Replace("vertex ", ""));
                        else if (vertex == 2) f.c = StringToVec3(line.Replace("vertex ", ""));
                        else if (vertex == 1) f.b = StringToVec3(line.Replace("vertex ", ""));
                        vertex++;
                        break;

                    case ENDLOOP:
                        break;

                    case ENDFACET:
                        facets.Add(f);
                        break;

                    case ENDSOLID:
                        exit = true;
                        break;

                    case EMPTY:
                    default:
                        break;

                    }
                }
            }

            return CreateMeshWithFacets(facets);
        }