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); }
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); }
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); }