| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using SharpGLTF.SchemaReflection;
- namespace SharpGLTF
- {
- class AgiStkMetadataExtension : SchemaProcessor
- {
- public override string GetTargetProject() { return Constants.AgiProjectDirectory; }
- private static string RootSchemaUri => Constants.VendorExtensionPath("AGI_stk_metadata", "glTF.AGI_stk_metadata.schema.json");
- private static string NodeSchemaUri => Constants.VendorExtensionPath("AGI_stk_metadata", "node.AGI_stk_metadata.schema.json");
- public override IEnumerable<(string, SchemaType.Context)> Process()
- {
- yield return ("ext.AgiRootStkMetadata.g", ProcessRoot());
- yield return ("ext.AgiNodeStkMetadata.g", ProcessNode());
- }
- private static SchemaType.Context ProcessRoot()
- {
- var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
- ctx.IgnoredByCodeEmitter("glTF Property");
- ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
- return ctx;
- }
- private static SchemaType.Context ProcessNode()
- {
- var ctx = SchemaProcessing.LoadSchemaContext(NodeSchemaUri);
- ctx.IgnoredByCodeEmitter("glTF Property");
- ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
- return ctx;
- }
- public override void PrepareTypes(CodeGen.CSharpEmitter newEmitter, SchemaType.Context ctx)
- {
- newEmitter.SetRuntimeName("AGI_stk_metadata glTF extension", "AgiRootStkMetadata", Constants.AgiNameSpace);
- newEmitter.SetRuntimeName("AGI_stk_metadata glTF Node extension", "AgiNodeStkMetadata", Constants.AgiNameSpace);
- newEmitter.SetRuntimeName("Solar Panel Group", "AgiStkSolarPanelGroup", Constants.AgiNameSpace);
- }
- }
- }
|