public async Task CanWriteAndReadSimplisticPointCloud(PlyFileFormat plyFileFormat) { var point = new List <Vector3> { new Vector3(0, 0, 0), new Vector3(1, 1, 1) }; var pointCloud = new PointCloud(point.Select(p => new Vertex(p)).ToArray()); var scene = PointCloudToSceneAdapter.GenerateSceneFromPointCloud(pointCloud); string filePath = Path.Combine(TestConstants.ResourcesFolderPath, "tmp.ply"); try { _mockSettings.Object.DefaultPlyFileFormat = plyFileFormat; _importerExporter = new PlyAssetImporterExporter(_mockSettings.Object, null); await _importerExporter.ExportFileAsync(scene, filePath, true); var importedScene = await _importerExporter.ImportFileAsync(filePath); var importedMesh = importedScene.Meshes.First(); Assert.AreEqual(point.Count, importedMesh.Points.Count); Assert.AreEqual(point[0], importedMesh.Points[0]); Assert.AreEqual(point[1], importedMesh.Points[1]); } finally { if (File.Exists(filePath)) { File.Delete(filePath); } } }
public async Task ReadInSmallPlyEnsureStructureIsCorrect() { Scene scene = await _importerExporter.ImportFileAsync(_basicPlyFilePath); var mesh = scene.Meshes[0]; Assert.AreEqual(8, mesh.Points.Count); Assert.AreEqual(false, mesh.ContainsNormals); }