Beispiel #1
0
        public void AddTriangle_TriangleAdded_TriangleInMesh()
        {
            GeometryConstructor gc = new GeometryConstructor();

            Vector3[] vertices = new Vector3[]
            {
                Vector3.zero,
                new Vector3(0, 1, 0),
                new Vector3(1, 0, 0)
            };
            int[] expectedTriangles = new int[] { 0, 1, 2 };

            int v0 = gc.AddVertex(vertices[0]);
            int v1 = gc.AddVertex(vertices[1]);
            int v2 = gc.AddVertex(vertices[2]);

            gc.AddTriangle(v0, v1, v2);
            Mesh mesh = gc.ConstructMesh();

            // check if the vertex indices are correct
            Assert.AreEqual(v0, expectedTriangles[0]);
            Assert.AreEqual(v1, expectedTriangles[1]);
            Assert.AreEqual(v2, expectedTriangles[2]);
            // check the mesh
            Assert.IsNotNull(mesh);
            Assert.AreEqual(mesh.vertices.Length, 3);
            Assert.AreEqual(mesh.triangles.Length, 3);
            Assert.AreEqual(mesh.vertices, vertices);
            Assert.AreEqual(mesh.triangles, expectedTriangles);
        }