Skip to content

Commit cd861ac

Browse files
committed
simplified extensions building
1 parent 0c03e06 commit cd861ac

32 files changed

+104
-160
lines changed

build/SharpGLTF.CodeGen/Ext.AGI_Articulations.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,15 @@ class AgiArticulationsExtension : SchemaProcessor
1212
private static string RootSchemaUri => Constants.VendorExtensionPath("AGI_articulations", "glTF.AGI_articulations.schema.json");
1313
private static string NodeSchemaUri => Constants.VendorExtensionPath("AGI_articulations", "node.AGI_articulations.schema.json");
1414

15-
public override IEnumerable<(string, SchemaType.Context)> Process()
15+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1616
{
1717
yield return ("ext.AgiRootArticulations.g", ProcessRoot());
1818
yield return ("ext.AgiNodeArticulations.g", ProcessNode());
1919
}
2020

2121
private static SchemaType.Context ProcessRoot()
2222
{
23-
var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
24-
ctx.IgnoredByCodeEmitter("glTF Property");
25-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
23+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(RootSchemaUri);
2624

2725
ctx.FindClass("Articulation")
2826
.GetField("pointingVector")
@@ -34,9 +32,7 @@ private static SchemaType.Context ProcessRoot()
3432

3533
private static SchemaType.Context ProcessNode()
3634
{
37-
var ctx = SchemaProcessing.LoadSchemaContext(NodeSchemaUri);
38-
ctx.IgnoredByCodeEmitter("glTF Property");
39-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
35+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(NodeSchemaUri);
4036

4137
return ctx;
4238
}

build/SharpGLTF.CodeGen/Ext.AGI_RootStkMetadata.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,21 @@ class AgiStkMetadataExtension : SchemaProcessor
1212
private static string RootSchemaUri => Constants.VendorExtensionPath("AGI_stk_metadata", "glTF.AGI_stk_metadata.schema.json");
1313
private static string NodeSchemaUri => Constants.VendorExtensionPath("AGI_stk_metadata", "node.AGI_stk_metadata.schema.json");
1414

15-
public override IEnumerable<(string, SchemaType.Context)> Process()
15+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1616
{
1717
yield return ("ext.AgiRootStkMetadata.g", ProcessRoot());
1818
yield return ("ext.AgiNodeStkMetadata.g", ProcessNode());
1919
}
2020

2121
private static SchemaType.Context ProcessRoot()
2222
{
23-
var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
24-
ctx.IgnoredByCodeEmitter("glTF Property");
25-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
23+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(RootSchemaUri);
2624
return ctx;
2725
}
2826

2927
private static SchemaType.Context ProcessNode()
3028
{
31-
var ctx = SchemaProcessing.LoadSchemaContext(NodeSchemaUri);
32-
ctx.IgnoredByCodeEmitter("glTF Property");
33-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
29+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(NodeSchemaUri);
3430
return ctx;
3531
}
3632

build/SharpGLTF.CodeGen/Ext.CESIUM_primitive_outline.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@ public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context c
1515
newEmitter.SetRuntimeName("CESIUM_primitive_outline glTF primitive extension", "CesiumPrimitiveOutline", Constants.CesiumNameSpace);
1616
}
1717

18-
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
18+
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> ReadSchema()
1919
{
2020
yield return ("Ext.CESIUM_primitive_outline.g", ProcessRoot());
2121
}
2222

2323
private static SchemaType.Context ProcessRoot()
2424
{
25-
var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
26-
ctx.IgnoredByCodeEmitter("glTF Property");
27-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
25+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(RootSchemaUri);
2826

2927
return ctx;
3028
}

build/SharpGLTF.CodeGen/Ext.EXT_InstanceFeatures.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,14 @@ public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context c
1818
newEmitter.SetFieldToChildrenList(ctx, "EXT_instance_features glTF Node extension", "featureIds");
1919
}
2020

21-
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
21+
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> ReadSchema()
2222
{
2323
yield return ("Ext.CESIUM_ext_instance_features.g", ProcessNode());
2424
}
2525

2626
private static SchemaType.Context ProcessNode()
2727
{
28-
var ctx = SchemaProcessing.LoadSchemaContext(NodeSchemaUri);
29-
ctx.IgnoredByCodeEmitter("glTF Property");
30-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
31-
ctx.IgnoredByCodeEmitter("Texture Info");
28+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(NodeSchemaUri);
3229
return ctx;
3330
}
3431
}

build/SharpGLTF.CodeGen/Ext.EXT_MeshFeatures.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context c
2222
newEmitter.SetFieldToChildrenList(ctx, "EXT_mesh_features glTF Mesh Primitive extension", "featureIds");
2323
}
2424

25-
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
25+
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> ReadSchema()
2626
{
2727
yield return ("Ext.CESIUM_ext_mesh_features.g", ProcessNode());
2828
}

build/SharpGLTF.CodeGen/Ext.EXT_MeshGpuInstancing.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ namespace SharpGLTF
99
class MeshGpuInstancingExtension : SchemaProcessor
1010
{
1111
private static string SchemaUri => Constants.VendorExtensionPath("EXT_mesh_gpu_instancing", "glTF.EXT_mesh_gpu_instancing.schema.json");
12-
public override IEnumerable<(string, SchemaType.Context)> Process()
12+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1313
{
14-
var ctx = SchemaProcessing.LoadSchemaContext(SchemaUri);
15-
ctx.IgnoredByCodeEmitter("glTF Property");
16-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
14+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
1715

1816
yield return ("ext.MeshGpuInstancing.g", ctx);
1917
}

build/SharpGLTF.CodeGen/Ext.EXT_Structural_Metadata.cs

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,32 @@ class ExtStructuralMetadataExtension : SchemaProcessor
1313
private static string RootSchemaUri => Constants.CustomExtensionsPath("EXT_structural_metadata", "glTF.EXT_structural_metadata.schema.json");
1414
private static string MeshPrimitiveSchemaUri => Constants.CustomExtensionsPath("EXT_structural_metadata", "mesh.primitive.EXT_structural_metadata.schema.json");
1515

16+
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> ReadSchema()
17+
{
18+
yield return ("Ext.CESIUM_ext_structural_metadata_root.g", ProcessRoot());
19+
yield return ("Ext.CESIUM_ext_structural_metadata_primitive.g", ProcessMeshPrimitive());
20+
}
21+
22+
private static SchemaType.Context ProcessRoot()
23+
{
24+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(RootSchemaUri);
25+
26+
// for now we simply remove the default value, it can be set
27+
// in the constructor or on demand when the APIs are Called.
28+
var fld = ctx.FindClass(ExtensionPropertyTexturePropertyName).GetField("channels");
29+
fld.RemoveDefaultValue();
30+
31+
return ctx;
32+
}
33+
34+
private static SchemaType.Context ProcessMeshPrimitive()
35+
{
36+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(MeshPrimitiveSchemaUri);
37+
return ctx;
38+
}
39+
40+
41+
1642
public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
1743
{
1844
newEmitter.SetRuntimeName("EXT_structural_metadata glTF Mesh Primitive extension", "ExtStructuralMetadataMeshPrimitive", Constants.CesiumNameSpace);
@@ -50,35 +76,7 @@ public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context c
5076
newEmitter.SetFieldToChildrenDictionary(ctx, "Schema in EXT_structural_metadata", "enums");
5177
}
5278

53-
public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
54-
{
55-
yield return ("Ext.CESIUM_ext_structural_metadata_root.g", ProcessRoot());
56-
yield return ("Ext.CESIUM_ext_structural_metadata_primitive.g", ProcessMeshPrimitive());
57-
}
58-
59-
private static SchemaType.Context ProcessRoot()
60-
{
61-
var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
62-
ctx.IgnoredByCodeEmitter("glTF Property");
63-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
64-
ctx.IgnoredByCodeEmitter("Texture Info");
65-
var fld = ctx.FindClass(ExtensionPropertyTexturePropertyName).GetField("channels");
66-
67-
// for now we simply remove the default value, it can be set
68-
// in the constructor or on demand when the APIs are Called.
69-
fld.RemoveDefaultValue();
70-
71-
return ctx;
72-
}
73-
74-
private static SchemaType.Context ProcessMeshPrimitive()
75-
{
76-
var ctx = SchemaProcessing.LoadSchemaContext(MeshPrimitiveSchemaUri);
77-
ctx.IgnoredByCodeEmitter("glTF Property");
78-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
79-
ctx.IgnoredByCodeEmitter("Texture Info");
80-
return ctx;
81-
}
79+
8280

8381

8482
}

build/SharpGLTF.CodeGen/Ext.EXT_TextureWebp.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ namespace SharpGLTF
99
class TextureWebpExtension : SchemaProcessor
1010
{
1111
private static string SchemaUri => Constants.VendorExtensionPath("EXT_texture_webp", "glTF.EXT_texture_webp.schema.json");
12-
public override IEnumerable<(string, SchemaType.Context)> Process()
12+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1313
{
14-
var ctx = SchemaProcessing.LoadSchemaContext(SchemaUri);
15-
ctx.IgnoredByCodeEmitter("glTF Property");
14+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
1615

1716
yield return ("ext.TextureWEBP.g", ctx);
1817
}

build/SharpGLTF.CodeGen/Ext.KHR_AnimPointer.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ class AnimationPointerExtension : SchemaProcessor
1414

1515
private const string ExtensionRootClassName = "KHR_animation_pointer glTF Animation Channel Target Extension";
1616

17-
public override IEnumerable<(string, SchemaType.Context)> Process()
17+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1818
{
19-
var ctx = SchemaProcessing.LoadSchemaContext(SchemaUri);
20-
ctx.IgnoredByCodeEmitter("glTF Property");
19+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
2120

2221
yield return ("ext.AnimPointer.g", ctx);
2322
}

build/SharpGLTF.CodeGen/Ext.KHR_Anisotropy.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,9 @@ class AnisotropyExtension : SchemaProcessor
1212

1313
private const string ExtensionRootClassName = "KHR_materials_anisotropy glTF Material Extension";
1414

15-
public override IEnumerable<(string, SchemaType.Context)> Process()
15+
public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
1616
{
17-
var ctx = SchemaProcessing.LoadSchemaContext(SchemaUri);
18-
ctx.IgnoredByCodeEmitter("glTF Property");
19-
ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
20-
ctx.IgnoredByCodeEmitter("Texture Info");
21-
ctx.IgnoredByCodeEmitter("Material Normal Texture Info");
17+
var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
2218

2319
yield return("ext.Anisotropy.g", ctx);
2420
}

0 commit comments

Comments
 (0)