public void Arguments() { var context = new TestImporterContext("TestObj", "TestBin"); var importer = new OpenAssetImporter(); Assert.Throws <ArgumentNullException>(() => importer.Import(null, context)); Assert.Throws <FileNotFoundException>(() => importer.Import("does_not_exist", context)); Assert.Throws <ArgumentNullException>(() => importer.Import("file", null)); }
public override NodeContent Import(string filename, ContentImporterContext context) { if (filename == null) { throw new ArgumentNullException(nameof(filename)); } if (context == null) { throw new ArgumentNullException(nameof(context)); } var importer = new OpenAssetImporter("FbxImporter", true); return(importer.Import(filename, context)); }
public void BlenderTests() { var context = new TestImporterContext("TestObj", "TestBin"); var importer = new OpenAssetImporter(); var nodeContent = importer.Import("Assets/Models/Box.blend", context); Assert.NotNull(nodeContent); Assert.AreEqual("Cube", nodeContent.Name); Assert.AreEqual(0, nodeContent.Children.Count); Assert.AreEqual(Matrix.Identity, nodeContent.Transform); Assert.AreEqual(Matrix.Identity, nodeContent.AbsoluteTransform); Assert.NotNull(nodeContent.Parent); Assert.AreEqual("<BlenderRoot>", nodeContent.Parent.Name); var meshContent = nodeContent as MeshContent; Assert.NotNull(meshContent); Assert.AreEqual(1, meshContent.Geometry.Count); Assert.AreEqual(0, meshContent.Animations.Count); Assert.AreEqual(28, meshContent.Positions.Count); var geometry = meshContent.Geometry[0]; Assert.IsNull(geometry.Name); Assert.AreEqual(108, geometry.Indices.Count); Assert.AreEqual(28, geometry.Vertices.VertexCount); Assert.IsNotNull(geometry.Material); Assert.AreEqual("Material", geometry.Material.Name); Assert.AreEqual(5, geometry.Material.OpaqueData.Count); Assert.AreEqual(new Vector3(1.65732033E-07f, 1, 0), geometry.Material.OpaqueData["DiffuseColor"]); Assert.AreEqual(Vector3.Zero, geometry.Material.OpaqueData["AmbientColor"]); Assert.AreEqual(Vector3.One, geometry.Material.OpaqueData["ReflectiveColor"]); Assert.AreEqual(Vector3.One, geometry.Material.OpaqueData["SpecularColor"]); Assert.AreEqual(50.0f, geometry.Material.OpaqueData["Shininess"]); }
/// <summary> /// Called by the XNA Framework when importing a .x file to be used as a game asset. This is the method called by the XNA Framework when an asset is to be imported into an object that can be recognized by the Content Pipeline. /// </summary> /// <param name="filename">Name of a game asset file.</param> /// <param name="context">Contains information for importing a game asset, such as a logger interface.</param> /// <returns>Resulting game asset.</returns> public override NodeContent Import(string filename, ContentImporterContext context) { var importer = new OpenAssetImporter("XImporter", true); return(importer.Import(filename, context)); }