コード例 #1
0
        public void GetSurfaceArea()
        {
            // Arrange
            IMeshConverter meshConverter = new ObjMeshConverter();
            IMesh          mesh          = meshConverter.FromStream(new FileStream(@"Resources\cube2.obj", FileMode.Open));

            // Act
            float surfaceArea = mesh.GetSurfaceArea();

            // Assert
            Assert.AreEqual(24f, surfaceArea);
        }
コード例 #2
0
        public void GetVolume()
        {
            // Arrange
            IMeshConverter meshConverter = new ObjMeshConverter();
            IMesh          mesh          = meshConverter.FromStream(new FileStream(@"Resources\cube2.obj", FileMode.Open));

            // Act
            float volume = mesh.GetVolume();

            // Assert
            Assert.AreEqual(8f, volume);
        }
コード例 #3
0
        public void FromStream()
        {
            // Arrange
            IMeshConverter meshConverter = new ObjMeshConverter();
            Stream         stream        = new FileStream(@"Resources\cube.obj", FileMode.Open);

            // Act
            IMesh mesh = meshConverter.FromStream(stream);

            // Assert
            List <Vertex> geometricVertices = mesh.GeometricVertices.ToList();

            Assert.AreEqual(8, geometricVertices.Count);
            Assert.AreEqual(0.0f, geometricVertices.ElementAt(3).X);
            Assert.AreEqual(1.0f, geometricVertices.ElementAt(3).Y);
            Assert.AreEqual(1.0f, geometricVertices.ElementAt(3).Z);

            Assert.IsFalse(mesh.TextureVertices.Any());

            List <Vector> vertexNormals = mesh.VertexNormals.ToList();

            Assert.AreEqual(6, vertexNormals.Count);
            Assert.AreEqual(0.0f, vertexNormals.ElementAt(1).I);
            Assert.AreEqual(0.0f, vertexNormals.ElementAt(1).J);
            Assert.AreEqual(-1.0f, vertexNormals.ElementAt(1).K);

            List <Face> faces = mesh.Faces.ToList();

            Assert.AreEqual(12, faces.Count);
            List <FaceElement> faceElements = faces[9].FaceElements.ToList();

            Assert.AreEqual(3, faceElements.Count);
            Assert.AreEqual(mesh.GeometricVertices.ElementAt(5), faceElements[1].V);
            Assert.IsNull(faceElements[1].Vt);
            Assert.AreEqual(mesh.VertexNormals.ElementAt(3), faceElements[1].Vn);
        }