MetadataSemantic.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /**
  2. * An enum of built-in semantics.
  3. *
  4. * @enum MetadataSemantic
  5. *
  6. * @private
  7. * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
  8. * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata/Semantics|3D Metadata Semantic Reference}
  9. */
  10. const MetadataSemantic = {
  11. /**
  12. * A unique identifier, stored as a <code>STRING</code>.
  13. *
  14. * @type {String}
  15. * @constant
  16. * @private
  17. */
  18. ID: "ID",
  19. /**
  20. * A name, stored as a <code>STRING</code>. This does not have to be unique.
  21. *
  22. * @type {String}
  23. * @constant
  24. * @private
  25. */
  26. NAME: "NAME",
  27. /**
  28. * A description, stored as a <code>STRING</code>.
  29. *
  30. * @type {String}
  31. * @constant
  32. * @private
  33. */
  34. DESCRIPTION: "DESCRIPTION",
  35. /**
  36. * A bounding box for a tile, stored as an array of 12 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are the same format as for <code>boundingVolume.box</code> in 3D Tiles 1.0. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  37. *
  38. * @type {String}
  39. * @constant
  40. * @private
  41. */
  42. TILE_BOUNDING_BOX: "TILE_BOUNDING_BOX",
  43. /**
  44. * A bounding region for a tile, stored as an array of 6 <code>FLOAT64</code> components. The components are <code>[west, south, east, north, minimumHeight, maximumHeight]</code>. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  45. *
  46. * @type {String}
  47. * @constant
  48. * @private
  49. */
  50. TILE_BOUNDING_REGION: "TILE_BOUNDING_REGION",
  51. /**
  52. * A bounding sphere for a tile, stored as an array of 4 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are <code>[centerX, centerY, centerZ, radius]</code>. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  53. *
  54. * @type {String}
  55. * @constant
  56. * @private
  57. */
  58. TILE_BOUNDING_SPHERE: "TILE_BOUNDING_SPHERE",
  59. /**
  60. * The minimum height of a tile above (or below) the WGS84 ellipsoid, stored as a <code>FLOAT32</code> or a <code>FLOAT64</code>. This semantic is used to tighten bounding regions implicitly calculated in implicit tiling.
  61. *
  62. * @type {String}
  63. * @constant
  64. * @private
  65. */
  66. TILE_MINIMUM_HEIGHT: "TILE_MINIMUM_HEIGHT",
  67. /**
  68. * The maximum height of a tile above (or below) the WGS84 ellipsoid, stored as a <code>FLOAT32</code> or a <code>FLOAT64</code>. This semantic is used to tighten bounding regions implicitly calculated in implicit tiling.
  69. *
  70. * @type {String}
  71. * @constant
  72. * @private
  73. */
  74. TILE_MAXIMUM_HEIGHT: "TILE_MAXIMUM_HEIGHT",
  75. /**
  76. * The horizon occlusion point for a tile, stored as an <code>VEC3</code> of <code>FLOAT32</code> or <code>FLOAT64</code> components.
  77. *
  78. * @see {@link https://cesium.com/blog/2013/04/25/horizon-culling/|Horizon Culling}
  79. *
  80. * @type {String}
  81. * @constant
  82. * @private
  83. */
  84. TILE_HORIZON_OCCLUSION_POINT: "TILE_HORIZON_OCCLUSION_POINT",
  85. /**
  86. * The geometric error for a tile, stored as a <code>FLOAT32</code> or a <code>FLOAT64</code>. This semantic is used to override the geometric error implicitly calculated in implicit tiling.
  87. *
  88. * @type {String}
  89. * @constant
  90. * @private
  91. */
  92. TILE_GEOMETRIC_ERROR: "TILE_GEOMETRIC_ERROR",
  93. /**
  94. * A bounding box for the content of a tile, stored as an array of 12 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are the same format as for <code>boundingVolume.box</code> in 3D Tiles 1.0. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  95. *
  96. * @type {String}
  97. * @constant
  98. * @private
  99. */
  100. CONTENT_BOUNDING_BOX: "CONTENT_BOUNDING_BOX",
  101. /**
  102. * A bounding region for the content of a tile, stored as an array of 6 <code>FLOAT64</code> components. The components are <code>[west, south, east, north, minimumHeight, maximumHeight]</code>. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  103. *
  104. * @type {String}
  105. * @constant
  106. * @private
  107. */
  108. CONTENT_BOUNDING_REGION: "CONTENT_BOUNDING_REGION",
  109. /**
  110. * A bounding sphere for the content of a tile, stored as an array of 4 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are <code>[centerX, centerY, centerZ, radius]</code>. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
  111. *
  112. * @type {String}
  113. * @constant
  114. * @private
  115. */
  116. CONTENT_BOUNDING_SPHERE: "CONTENT_BOUNDING_SPHERE",
  117. /**
  118. * The minimum height of the content of a tile above (or below) the WGS84 ellipsoid, stored as a <code>FLOAT32</code> or a <code>FLOAT64</code>
  119. *
  120. * @type {String}
  121. * @constant
  122. * @private
  123. */
  124. CONTENT_MINIMUM_HEIGHT: "CONTENT_MINIMUM_HEIGHT",
  125. /**
  126. * The maximum height of the content of a tile above (or below) the WGS84 ellipsoid, stored as a <code>FLOAT32</code> or a <code>FLOAT64</code>
  127. *
  128. * @type {String}
  129. * @constant
  130. * @private
  131. */
  132. CONTENT_MAXIMUM_HEIGHT: "CONTENT_MAXIMUM_HEIGHT",
  133. /**
  134. * The horizon occlusion point for the content of a tile, stored as an <code>VEC3</code> of <code>FLOAT32</code> or <code>FLOAT64</code> components.
  135. *
  136. * @see {@link https://cesium.com/blog/2013/04/25/horizon-culling/|Horizon Culling}
  137. *
  138. * @type {String}
  139. * @constant
  140. * @private
  141. */
  142. CONTENT_HORIZON_OCCLUSION_POINT: "CONTENT_HORIZON_OCCLUSION_POINT",
  143. };
  144. export default Object.freeze(MetadataSemantic);