Constants.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace SharpGLTF
  5. {
  6. static class Constants
  7. {
  8. public static string RemoteSchemaRepo = "https://github.com/KhronosGroup/glTF.git";
  9. /// <summary>
  10. /// Directory where the schema is downloaded and used as source
  11. /// </summary>
  12. public static string LocalRepoDirectory => System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(Program).Assembly.Location), "glTF");
  13. /// <summary>
  14. /// Directory of the main schema within the download repo directory
  15. /// </summary>
  16. public static string MainSchemaDir => System.IO.Path.Combine(LocalRepoDirectory, "specification", "2.0", "schema");
  17. /// <summary>
  18. /// schema source code file path
  19. /// </summary>
  20. public static string MainSchemaFile => System.IO.Path.Combine(MainSchemaDir, "glTF.schema.json");
  21. public static string KhronosSchemaDir => System.IO.Path.Combine(Constants.LocalRepoDirectory, "extensions", "2.0", "Khronos");
  22. public static string VendorSchemaDir => System.IO.Path.Combine(Constants.LocalRepoDirectory, "extensions", "2.0", "Vendor");
  23. public static string KhronosDracoSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_draco_mesh_compression", "schema");
  24. public static string KhronosPbrSpecGlossSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_materials_pbrSpecularGlossiness", "schema", "glTF.KHR_materials_pbrSpecularGlossiness.schema.json");
  25. public static string KhronosUnlitSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_materials_unlit", "schema", "glTF.KHR_materials_unlit.schema.json");
  26. public static string KhronosModelLightsPunctualSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_lights_punctual", "schema", "glTF.KHR_lights_punctual.schema.json");
  27. public static string KhronosNodeLightsPunctualSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_lights_punctual", "schema", "node.KHR_lights_punctual.schema.json");
  28. public static string KhronosTextureTransformSchemaFile => System.IO.Path.Combine(KhronosSchemaDir, "KHR_texture_transform", "schema", "KHR_texture_transform.textureInfo.schema.json");
  29. public static string MicrosoftTextureDDSSchemaFile => System.IO.Path.Combine(VendorSchemaDir, "MSFT_texture_dds", "schema", "glTF.MSFT_texture_dds.schema.json");
  30. public static string TextureWebpSchemaFile => System.IO.Path.Combine(VendorSchemaDir, "EXT_texture_webp", "schema", "glTF.EXT_texture_webp.schema.json");
  31. /// <summary>
  32. /// directory within the solution where the generated code is emitted
  33. /// </summary>
  34. public static string TargetProjectDirectory => "src\\SharpGLTF.Core\\Schema2\\Generated";
  35. /// <summary>
  36. /// namespace of the emitted generated code
  37. /// </summary>
  38. public static string OutputNamespace => "SharpGLTF.Schema2";
  39. }
  40. }