using Assimp; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ANX.Framework.Content.Pipeline { static class AssimpExtensions { public static Matrix ToAnx(this Matrix4x4 matrix) { return new Matrix( matrix.A1, matrix.B1, matrix.C1, matrix.D1, matrix.A2, matrix.B2, matrix.C2, matrix.D2, matrix.A3, matrix.B3, matrix.C3, matrix.D3, matrix.A4, matrix.B4, matrix.C4, matrix.D4); } public static Color ToAnx(this Color4D color) { return Color.FromNonPremultiplied(new Vector4(color.R, color.G, color.B, color.A)); } public static Vector3 ToAnx(this Vector3D vector) { return new Vector3(vector.X, vector.Y, vector.Z); } public static void AddRange(this OpaqueDataDictionary instance, Metadata metadata) { foreach (var entry in metadata) { instance.Add(entry.Key, entry.Value.Data); } } public static IEnumerable EnumerateMeshes(this Node instance, Scene scene) { foreach (var meshIndex in instance.MeshIndices) { yield return scene.Meshes[meshIndex]; } } } }