Skip to content

Commit 71a0af1

Browse files
committed
Added simple utility interfaces
1 parent b0385fd commit 71a0af1

File tree

6 files changed

+23
-10
lines changed

6 files changed

+23
-10
lines changed

examples/Example1/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ static void Main(string[] args)
4545

4646
// save the model in different formats
4747

48-
var model = scene.ToSchema2();
48+
var model = scene.ToGltf2();
4949
model.SaveAsWavefront("mesh.obj");
5050
model.SaveGLB("mesh.glb");
5151
model.SaveGLTF("mesh.gltf");

src/SharpGLTF.Core/Schema2/gltf.Root.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
namespace SharpGLTF.Schema2
88
{
99
[System.Diagnostics.DebuggerDisplay("Model Root")]
10-
public sealed partial class ModelRoot
10+
public sealed partial class ModelRoot : IConvertibleToGltf2
1111
{
1212
#region lifecycle
1313

@@ -79,6 +79,8 @@ public ModelRoot DeepClone()
7979

8080
public IEnumerable<String> IncompatibleExtensions => _extensionsRequired.Except(ExtensionsFactory.SupportedExtensions).ToList();
8181

82+
ModelRoot IConvertibleToGltf2.ToGltf2() { return this; }
83+
8284
#endregion
8385

8486
#region Logical resouces

src/SharpGLTF.Toolkit/Scenes/SceneBuilder.Schema2.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public interface IOperator<T>
157157
#endregion
158158
}
159159

160-
public partial class SceneBuilder
160+
public partial class SceneBuilder : IConvertibleToGltf2
161161
{
162162
#region from SceneBuilder to Schema2
163163

@@ -188,12 +188,18 @@ public static ModelRoot ToSchema2(IEnumerable<SceneBuilder> srcScenes, bool useS
188188
return dstModel;
189189
}
190190

191+
[Obsolete("Use ToGltf2")]
192+
public ModelRoot ToSchema2(bool useStridedBuffers = true)
193+
{
194+
return ToGltf2(useStridedBuffers);
195+
}
196+
191197
/// <summary>
192198
/// Converts this <see cref="SceneBuilder"/> instance into a <see cref="ModelRoot"/> instance.
193199
/// </summary>
194200
/// <param name="useStridedBuffers">True to generate strided vertex buffers whenever possible.</param>
195201
/// <returns>A new <see cref="ModelRoot"/> instance.</returns>
196-
public ModelRoot ToSchema2(bool useStridedBuffers = true)
202+
public ModelRoot ToGltf2(bool useStridedBuffers = true)
197203
{
198204
var context = new Schema2SceneBuilder();
199205

@@ -211,6 +217,11 @@ public ModelRoot ToSchema2(bool useStridedBuffers = true)
211217
return dstModel;
212218
}
213219

220+
public ModelRoot ToGltf2()
221+
{
222+
return ToGltf2(true);
223+
}
224+
214225
#endregion
215226

216227
#region from Schema2 to SceneBuilder

tests/SharpGLTF.Tests/Scenes/SceneBuilderTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public void CreateSceneWithEmptyMeshes()
216216
scene.AddRigidMesh(mesh2, Matrix4x4.Identity);
217217
scene.AddRigidMesh(mesh3, Matrix4x4.CreateTranslation(0,10,0));
218218

219-
var model = scene.ToSchema2();
219+
var model = scene.ToGltf2();
220220

221221
Assert.AreEqual(3, model.LogicalMaterials.Count);
222222
CollectionAssert.AreEquivalent(new[] { "material0", "material2", "material3" }, model.LogicalMaterials.Select(item => item.Name));
@@ -473,7 +473,7 @@ public void CreateAllAnimationTypesScene()
473473
curve.SetPoint(1, Transforms.SparseWeight8.Create(1));
474474
curve.SetPoint(2, Transforms.SparseWeight8.Create(0));
475475

476-
var gltf = scene.ToSchema2();
476+
var gltf = scene.ToGltf2();
477477

478478
// Assert.AreEqual(1, gltf.LogicalMeshes[1].MorphWeights[0]);
479479

@@ -537,8 +537,8 @@ public void TestRoundTrip(string path)
537537

538538
var srcScene = Schema2Toolkit.ToSceneBuilder(srcModel.DefaultScene);
539539

540-
var rowModel = srcScene.ToSchema2();
541-
var colModel = srcScene.ToSchema2(false);
540+
var rowModel = srcScene.ToGltf2();
541+
var colModel = srcScene.ToGltf2(false);
542542

543543
var rowScene = Schema2Toolkit.ToSceneBuilder(rowModel.DefaultScene);
544544
var colScene = Schema2Toolkit.ToSceneBuilder(colModel.DefaultScene);

tests/SharpGLTF.Tests/Schema2/LoadAndSave/LoadSpecialModelsTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public void LoadGeneratedTangetsTest(string fileName)
149149
editableScene.AddRigidMesh(mesh, System.Numerics.Matrix4x4.Identity);
150150

151151
model.AttachToCurrentTest("original.glb");
152-
editableScene.ToSchema2().AttachToCurrentTest("WithTangents.glb");
152+
editableScene.ToGltf2().AttachToCurrentTest("WithTangents.glb");
153153
}
154154
}
155155
}

tests/SharpGLTF.Tests/Utils.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public static void AttachToCurrentTest(this Schema2.ModelRoot model, string file
138138

139139
public static void AttachToCurrentTest(this Scenes.SceneBuilder scene, string fileName)
140140
{
141-
var model = scene.ToSchema2();
141+
var model = scene.ToGltf2();
142142

143143
model.AttachToCurrentTest(fileName);
144144
}

0 commit comments

Comments
 (0)