Example #1
0
        private void ReadTriangles(StreamReader reader, IList <SmdTriangle> triangles)
        {
            ReadTrianglesHeader(reader);
            string line = reader.ReadLine();

            while (line != "end")
            {
                SmdTriangle triangle = new SmdTriangle();
                triangle.Material = line;

                for (int i = 0; i < 3; i++)
                {
                    triangle.Vertices.Add(CreateVertexFromLine(reader.ReadLine()));
                }

                triangles.Add(triangle);
                line = reader.ReadLine();
            }
        }
Example #2
0
        private int CreateRegularTriangle(IDictionary <int, SkeletonNode> nodeTree, StreamWriter writer, int triangleNo, SmdTriangle triangle)
        {
            writer.WriteLine(string.Format("Triangle t{0}", triangleNo++));
            int    parentBoneId   = triangle.Vertices[0].ParentBone;
            string parentBoneName = GetBoneName(nodeTree, parentBoneId);

            writer.WriteLine(string.Format("{0} {1},{2}", parentBoneName, 128 * triangle.Vertices[0].PosX, 128 * triangle.Vertices[0].PosY));
            parentBoneId   = triangle.Vertices[1].ParentBone;
            parentBoneName = GetBoneName(nodeTree, parentBoneId);
            writer.WriteLine(string.Format("{0} {1},{2}", parentBoneName, 128 * triangle.Vertices[1].PosX, 128 * triangle.Vertices[1].PosY));
            parentBoneId   = triangle.Vertices[2].ParentBone;
            parentBoneName = GetBoneName(nodeTree, parentBoneId);
            writer.WriteLine(string.Format("{0} {1},{2}", parentBoneName, 128 * triangle.Vertices[2].PosX, 128 * triangle.Vertices[2].PosY));
            writer.WriteLine("Black");
            writer.WriteLine(string.Format("{0}", triangle.Vertices[0].PosZ));
            writer.WriteLine("");
            return(triangleNo);
        }