Browse Source

replaced some Func<> delegates by Converter<> delegate, which makes more sense in these cases.

Vicente Penades 6 years ago
parent
commit
0fa1cdc276

+ 1 - 1
src/Shared/_Extensions.cs

@@ -330,7 +330,7 @@ namespace SharpGLTF
             }
         }
 
-        internal static void AddRange<Tin, Tout>(this IList<Tout> dst, IEnumerable<Tin> src, Func<Tin, Tout> cvt)
+        internal static void AddRange<Tin, Tout>(this IList<Tout> dst, IEnumerable<Tin> src, Converter<Tin, Tout> cvt)
         {
             foreach (var item in src)
             {

+ 5 - 5
src/SharpGLTF.Core/Collections/LinqDictionary.cs

@@ -16,7 +16,7 @@ namespace SharpGLTF.Collections
     {
         #region lifecycle
 
-        public ReadOnlyLinqDictionary(IReadOnlyDictionary<TKey, TValueIn> dict, Func<TValueIn, TValueOut> valConverter)
+        public ReadOnlyLinqDictionary(IReadOnlyDictionary<TKey, TValueIn> dict, Converter<TValueIn, TValueOut> valConverter)
         {
             _Source = dict;
             _ValueConverter = valConverter;
@@ -27,7 +27,7 @@ namespace SharpGLTF.Collections
         #region data
 
         private readonly IReadOnlyDictionary<TKey, TValueIn> _Source;
-        private readonly Func<TValueIn, TValueOut> _ValueConverter;
+        private readonly Converter<TValueIn, TValueOut> _ValueConverter;
 
         #endregion
 
@@ -85,7 +85,7 @@ namespace SharpGLTF.Collections
     {
         #region lifecycle
 
-        public LinqDictionary(IDictionary<TKey, TValueIn> dict, Func<TValueOut, TValueIn> inConverter, Func<TValueIn, TValueOut> outConverter)
+        public LinqDictionary(IDictionary<TKey, TValueIn> dict, Converter<TValueOut, TValueIn> inConverter, Converter<TValueIn, TValueOut> outConverter)
         {
             _Source = dict;
             _InConverter = inConverter;
@@ -97,8 +97,8 @@ namespace SharpGLTF.Collections
         #region data
 
         private readonly IDictionary<TKey, TValueIn> _Source;
-        private readonly Func<TValueOut, TValueIn> _InConverter;
-        private readonly Func<TValueIn, TValueOut> _OutConverter;
+        private readonly Converter<TValueOut, TValueIn> _InConverter;
+        private readonly Converter<TValueIn, TValueOut> _OutConverter;
 
         #endregion
 

+ 1 - 1
src/SharpGLTF.Toolkit/Geometry/PackedMeshBuilder.cs

@@ -83,7 +83,7 @@ namespace SharpGLTF.Geometry
             return p;
         }
 
-        public Mesh CreateSchema2Mesh(ModelRoot root, Func<TMaterial, Material> materialEvaluator)
+        public Mesh CreateSchema2Mesh(ModelRoot root, Converter<TMaterial, Material> materialEvaluator)
         {
             if (_Primitives.Count == 0) return null;
 

+ 1 - 1
src/SharpGLTF.Toolkit/Geometry/PackedPrimitiveBuilder.cs

@@ -136,7 +136,7 @@ namespace SharpGLTF.Geometry
             return new SharpGLTF.Memory.MemoryAccessor(accessor.Data, attr);
         }
 
-        internal void CopyToMesh(Mesh dstMesh, Func<TMaterial, Material> materialEvaluator)
+        internal void CopyToMesh(Mesh dstMesh, Converter<TMaterial, Material> materialEvaluator)
         {
             if (_VerticesPerPrimitive < 1 || _VerticesPerPrimitive > 3) return;
 

+ 10 - 10
src/SharpGLTF.Toolkit/Schema2/MeshExtensions.cs

@@ -21,7 +21,7 @@ namespace SharpGLTF.Schema2
             return root.CreateMeshes(mesh)[0];
         }
 
-        public static Mesh CreateMesh<TMaterial>(this ModelRoot root, Func<TMaterial, Material> materialEvaluator, IMeshBuilder<TMaterial> mesh)
+        public static Mesh CreateMesh<TMaterial>(this ModelRoot root, Converter<TMaterial, Material> materialEvaluator, IMeshBuilder<TMaterial> mesh)
         {
             return root.CreateMeshes<TMaterial>(materialEvaluator, mesh)[0];
         }
@@ -51,19 +51,19 @@ namespace SharpGLTF.Schema2
             return root.CreateMeshes(matFactory, meshBuilders);
         }
 
-        public static IReadOnlyList<Mesh> CreateMeshes<TMaterial>(this ModelRoot root, Func<TMaterial, Material> materialEvaluator, params IMeshBuilder<TMaterial>[] meshBuilders)
+        public static IReadOnlyList<Mesh> CreateMeshes<TMaterial>(this ModelRoot root, Converter<TMaterial, Material> materialConverter, params IMeshBuilder<TMaterial>[] meshBuilders)
         {
             Guard.NotNull(root, nameof(root));
-            Guard.NotNull(materialEvaluator, nameof(materialEvaluator));
+            Guard.NotNull(materialConverter, nameof(materialConverter));
             Guard.NotNull(meshBuilders, nameof(meshBuilders));
 
-            return root.CreateMeshes(materialEvaluator, true, meshBuilders);
+            return root.CreateMeshes(materialConverter, true, meshBuilders);
         }
 
-        public static IReadOnlyList<Mesh> CreateMeshes<TMaterial>(this ModelRoot root, Func<TMaterial, Material> materialEvaluator, bool strided, params IMeshBuilder<TMaterial>[] meshBuilders)
+        public static IReadOnlyList<Mesh> CreateMeshes<TMaterial>(this ModelRoot root, Converter<TMaterial, Material> materialConverter, bool strided, params IMeshBuilder<TMaterial>[] meshBuilders)
         {
             Guard.NotNull(root, nameof(root));
-            Guard.NotNull(materialEvaluator, nameof(materialEvaluator));
+            Guard.NotNull(materialConverter, nameof(materialConverter));
             Guard.NotNull(meshBuilders, nameof(meshBuilders));
             Guard.IsTrue(meshBuilders.Length == meshBuilders.Distinct().Count(), nameof(meshBuilders), "The collection has repeated meshes.");
 
@@ -75,7 +75,7 @@ namespace SharpGLTF.Schema2
                 .Where(item => !item.IsEmpty())
                 .Select(item => item.Material)
                 .Distinct()
-                .ToDictionary(m => m, m => materialEvaluator(m));
+                .ToDictionary(m => m, m => materialConverter(m));
 
             // create Schema2.Mesh collections for every gathered group.
 
@@ -520,7 +520,7 @@ namespace SharpGLTF.Schema2
             if (vertexAccessors.ContainsKey("WEIGHTS_1")) dstColumns.Weights1 = vertexAccessors["WEIGHTS_1"].AsVector4Array();
         }
 
-        public static void AddMesh<TMaterial, TvG, TvM, TvS>(this MeshBuilder<TMaterial, TvG, TvM, TvS> meshBuilder, Mesh srcMesh, Func<Material, TMaterial> materialFunc)
+        public static void AddMesh<TMaterial, TvG, TvM, TvS>(this MeshBuilder<TMaterial, TvG, TvM, TvS> meshBuilder, Mesh srcMesh, Converter<Material, TMaterial> materialFunc)
             where TvG : struct, IVertexGeometry
             where TvM : struct, IVertexMaterial
             where TvS : struct, IVertexSkinning
@@ -562,7 +562,7 @@ namespace SharpGLTF.Schema2
         /// <param name="animation">The source <see cref="Animation"/> to evaluate.</param>
         /// <param name="time">A time point, in seconds, within <paramref name="animation"/>.</param>
         /// <returns>A new <see cref="MeshBuilder{TMaterial, TvG, TvM, TvS}"/> containing the evaluated geometry.</returns>
-        public static MeshBuilder<TMaterial, TvG, TvM, VertexEmpty> ToStaticMeshBuilder<TMaterial, TvG, TvM>(this Scene srcScene, Func<Material, TMaterial> materialFunc, Animation animation, float time)
+        public static MeshBuilder<TMaterial, TvG, TvM, VertexEmpty> ToStaticMeshBuilder<TMaterial, TvG, TvM>(this Scene srcScene, Converter<Material, TMaterial> materialFunc, Animation animation, float time)
             where TvG : struct, IVertexGeometry
             where TvM : struct, IVertexMaterial
         {
@@ -662,7 +662,7 @@ namespace SharpGLTF.Schema2
             return dstMesh;
         }
 
-        public static MeshBuilder<Materials.MaterialBuilder, TvG, TvM, TvS> ToMeshBuilder<TMaterial, TvG, TvM, TvS>(this IEnumerable<(VertexBuilder<TvG, TvM, TvS> A, VertexBuilder<TvG, TvM, TvS> B, VertexBuilder<TvG, TvM, TvS> C, TMaterial Material)> triangles, Func<TMaterial, Materials.MaterialBuilder> materialFunc)
+        public static MeshBuilder<Materials.MaterialBuilder, TvG, TvM, TvS> ToMeshBuilder<TMaterial, TvG, TvM, TvS>(this IEnumerable<(VertexBuilder<TvG, TvM, TvS> A, VertexBuilder<TvG, TvM, TvS> B, VertexBuilder<TvG, TvM, TvS> C, TMaterial Material)> triangles, Converter<TMaterial, Materials.MaterialBuilder> materialFunc)
             where TvG : struct, IVertexGeometry
             where TvM : struct, IVertexMaterial
             where TvS : struct, IVertexSkinning