public void CreatesAndLinksAmfsForUnsavedMeshes() { AssetObject3D.AssetManager = new AssetManager(); var scene = new InteractiveScene(); scene.Children.Add(new Object3D { Mesh = PlatonicSolids.CreateCube(20, 20, 20) }); string tempPath = GetSceneTempPath(); string filePath = Path.Combine(tempPath, "some.mcx"); Object3D.AssetsPath = Path.Combine(tempPath, "Assets"); scene.Save(filePath); Assert.IsTrue(File.Exists(filePath)); IObject3D loadedItem = Object3D.Load(filePath, CancellationToken.None); Assert.IsTrue(loadedItem.Children.Count == 1); IObject3D meshItem = loadedItem.Children.First(); Assert.IsTrue(!string.IsNullOrEmpty(meshItem.MeshPath)); Assert.IsTrue(File.Exists(Path.Combine(tempPath, "Assets", meshItem.MeshPath))); Assert.IsNotNull(meshItem.Mesh); Assert.IsTrue(meshItem.Mesh.Faces.Count > 0); }
public void SaveSimpleScene() { var scene = new InteractiveScene(); scene.Children.Add(new Object3D()); string tempPath = GetSceneTempPath(); Object3D.AssetsPath = Path.Combine(tempPath, "Assets"); string filePath = Path.Combine(tempPath, "some.mcx"); scene.Save(filePath); Assert.IsTrue(File.Exists(filePath)); IObject3D loadedItem = Object3D.Load(filePath, CancellationToken.None); Assert.IsTrue(loadedItem.Children.Count == 1); }