示例#1
0
        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);
        }
示例#2
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);
		}