Browse Source

updated tiles3d code generators to use parent-child collections

vpenades 2 years ago
parent
commit
2cbf5cc3ca

+ 1 - 1
build/SharpGLTF.CodeGen/Ext.CESIUM_primitive_outline.cs

@@ -12,7 +12,7 @@ namespace SharpGLTF
 
 
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         {
         {
-            newEmitter.SetRuntimeName("CESIUM_primitive_outline glTF primitive extension", "CesiumPrimitiveOutline");
+            newEmitter.SetRuntimeName("CESIUM_primitive_outline glTF primitive extension", "CesiumPrimitiveOutline", Constants.CesiumNameSpace);
         }        
         }        
 
 
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()

+ 5 - 3
build/SharpGLTF.CodeGen/Ext.EXT_InstanceFeatures.cs

@@ -11,9 +11,11 @@ namespace SharpGLTF
         private static string NodeSchemaUri => Constants.CustomExtensionsPath("EXT_instance_features", "node.EXT_instance_features.schema.json");
         private static string NodeSchemaUri => Constants.CustomExtensionsPath("EXT_instance_features", "node.EXT_instance_features.schema.json");
 
 
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
-        {
-            newEmitter.SetRuntimeName("EXT_instance_features glTF Node extension", "MeshExtInstanceFeatures");
-            newEmitter.SetRuntimeName("Feature ID in EXT_instance_features", "MeshExtInstanceFeatureID");
+        {            
+            newEmitter.SetRuntimeName("EXT_instance_features glTF Node extension", "MeshExtInstanceFeatures", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Feature ID in EXT_instance_features", "MeshExtInstanceFeatureID", Constants.CesiumNameSpace);         
+
+            newEmitter.SetFieldToChildrenList(ctx, "EXT_instance_features glTF Node extension", "featureIds");
         }
         }
 
 
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()

+ 5 - 3
build/SharpGLTF.CodeGen/Ext.EXT_MeshFeatures.cs

@@ -15,9 +15,11 @@ namespace SharpGLTF
     
     
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         {
         {
-            newEmitter.SetRuntimeName("EXT_mesh_features glTF Mesh Primitive extension", "MeshExtMeshFeatures");
-            newEmitter.SetRuntimeName("Feature ID in EXT_mesh_features", "MeshExtMeshFeatureID");
-            newEmitter.SetRuntimeName(ExtensionFeatureIdTextureName, "MeshExtMeshFeatureIDTexture");            
+            newEmitter.SetRuntimeName("EXT_mesh_features glTF Mesh Primitive extension", "MeshExtMeshFeatures", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Feature ID in EXT_mesh_features", "MeshExtMeshFeatureID", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName(ExtensionFeatureIdTextureName, "MeshExtMeshFeatureIDTexture", Constants.CesiumNameSpace);
+
+            newEmitter.SetFieldToChildrenList(ctx, "EXT_mesh_features glTF Mesh Primitive extension", "featureIds");
         }
         }
     
     
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()

+ 33 - 17
build/SharpGLTF.CodeGen/Ext.EXT_Structural_Metadata.cs

@@ -15,23 +15,39 @@ namespace SharpGLTF
 
 
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
         {
         {
-            newEmitter.SetRuntimeName("EXT_structural_metadata glTF Mesh Primitive extension", "ExtStructuralMetadataMeshPrimitive");
-            newEmitter.SetRuntimeName("EXT_structural_metadata glTF extension", "EXTStructuralMetadataRoot");
-            newEmitter.SetRuntimeName("Property Table in EXT_structural_metadata", "PropertyTable");
-            newEmitter.SetRuntimeName("Schema in EXT_structural_metadata", "StructuralMetadataSchema");
-            newEmitter.SetRuntimeName("Property Table Property in EXT_structural_metadata", "PropertyTableProperty");
-            newEmitter.SetRuntimeName("Property Texture in EXT_structural_metadata", "PropertyTexture");
-            newEmitter.SetRuntimeName("Property Texture Property in EXT_structural_metadata", "PropertyTextureProperty");
-            newEmitter.SetRuntimeName("Property Attribute Property in EXT_structural_metadata", "PropertyAttributeProperty");
-            newEmitter.SetRuntimeName("Class Property in EXT_structural_metadata", "ClassProperty");
-            newEmitter.SetRuntimeName("Class in EXT_structural_metadata", "StructuralMetadataClass");
-            newEmitter.SetRuntimeName("Enum Value in EXT_structural_metadata", "EnumValue");
-            newEmitter.SetRuntimeName("Enum in EXT_structural_metadata", "StructuralMetadataEnum");
-            newEmitter.SetRuntimeName("Property Attribute in EXT_structural_metadata", "PropertyAttribute");
-            newEmitter.SetRuntimeName("BOOLEAN-ENUM-MAT2-MAT3-MAT4-SCALAR-STRING-VEC2-VEC3-VEC4", "ElementType");
-            newEmitter.SetRuntimeName("FLOAT32-FLOAT64-INT16-INT32-INT64-INT8-UINT16-UINT32-UINT64-UINT8", "DataType");
-            newEmitter.SetRuntimeName("INT16-INT32-INT64-INT8-UINT16-UINT32-UINT64-UINT8", "IntegerType");
-            newEmitter.SetRuntimeName("UINT16-UINT32-UINT64-UINT8", "ArrayOffsetType");
+            newEmitter.SetRuntimeName("EXT_structural_metadata glTF Mesh Primitive extension", "ExtStructuralMetadataMeshPrimitive", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("EXT_structural_metadata glTF extension", "EXTStructuralMetadataRoot", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Table in EXT_structural_metadata", "PropertyTable", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Schema in EXT_structural_metadata", "StructuralMetadataSchema", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Table Property in EXT_structural_metadata", "PropertyTableProperty", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Texture in EXT_structural_metadata", "PropertyTexture", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Texture Property in EXT_structural_metadata", "PropertyTextureProperty", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Attribute Property in EXT_structural_metadata", "PropertyAttributeProperty", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Class Property in EXT_structural_metadata", "ClassProperty", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Class in EXT_structural_metadata", "StructuralMetadataClass", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Enum Value in EXT_structural_metadata", "EnumValue", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Enum in EXT_structural_metadata", "StructuralMetadataEnum", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("Property Attribute in EXT_structural_metadata", "PropertyAttribute", Constants.CesiumNameSpace);
+
+            newEmitter.SetRuntimeName("BOOLEAN-ENUM-MAT2-MAT3-MAT4-SCALAR-STRING-VEC2-VEC3-VEC4", "ElementType", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("FLOAT32-FLOAT64-INT16-INT32-INT64-INT8-UINT16-UINT32-UINT64-UINT8", "DataType", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("INT16-INT32-INT64-INT8-UINT16-UINT32-UINT64-UINT8", "IntegerType", Constants.CesiumNameSpace);
+            newEmitter.SetRuntimeName("UINT16-UINT32-UINT64-UINT8", "ArrayOffsetType", Constants.CesiumNameSpace);
+
+            newEmitter.SetFieldToChildrenList(ctx, "EXT_structural_metadata glTF extension", "propertyTables");
+            newEmitter.SetFieldToChildrenList(ctx, "EXT_structural_metadata glTF extension", "propertyAttributes");
+            newEmitter.SetFieldToChildrenList(ctx, "EXT_structural_metadata glTF extension", "propertyTextures");
+
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Property Texture in EXT_structural_metadata", "properties");
+
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Class in EXT_structural_metadata", "properties");
+
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Property Table in EXT_structural_metadata", "properties");
+
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Property Attribute in EXT_structural_metadata", "properties");
+
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Schema in EXT_structural_metadata", "classes");
+            newEmitter.SetFieldToChildrenDictionary(ctx, "Schema in EXT_structural_metadata", "enums");
         }
         }
 
 
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
         public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()