/// <summary> /// Loads a wavefront model. /// </summary> /// <param name="path">The bytes resembling a .obj file.</param> /// <param name="indicesOutArr">Indices out.</param> /// <param name="outArr">The array of Ts, as the given function is applied to the model data.</param> /// <param name="func">Func.</param> /// <typeparam name="T">The type of the required data.</typeparam> public static void LoadModel <T>(Stream file, out int[] indicesOutArr, out T[] outArr, TArrayFromRetrievedData <T> func) { LoadModel <T>(file, out indicesOutArr, out outArr, func, true); }
/// <summary> /// Loads a wavefront model. /// </summary> /// <param name="path">The bytes resembling a .obj file.</param> /// <param name="indicesOutArr">Indices out.</param> /// <param name="outArr">The array of Ts, as the given function is applied to the model data.</param> /// <param name="func">Func.</param> /// <param name="optimize">A value indicating whether indices should be optimized (less memory-usage, longer load time).</param> /// <typeparam name="T">The type of the required data.</typeparam> public static void LoadModel <T>(Stream file, out int[] indicesOutArr, out T[] outArr, TArrayFromRetrievedData <T> func, bool optimize) { Vector4[] vertices; Vector3[] normals; Vector2[] texCoords; LoadModel(file, out vertices, out normals, out texCoords, out indicesOutArr, optimize); outArr = func(vertices, normals, texCoords); }
/// <summary> /// Loads a wavefront model. /// </summary> /// <param name="path">Path to .obj file.</param> /// <param name="indicesOutArr">Indices out.</param> /// <param name="outArr">The array of Ts, as the given function is applied to the model data.</param> /// <param name="func">Func.</param> /// <param name="optimize">A value indicating whether indices should be optimized (less memory-usage, longer load time).</param> /// <typeparam name="T">The type of the required data.</typeparam> public static void LoadModel <T>(string path, out int[] indicesOutArr, out T[] outArr, TArrayFromRetrievedData <T> func, bool optimize) { using (Stream str = File.OpenRead(path)) { LoadModel <T>(str, out indicesOutArr, out outArr, func, optimize); } }