@cesium/engine 0.1.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/Build/Workers/{AttributeCompression-4589338a.js → AttributeCompression-b646d393.js} +1 -1
  2. package/Build/Workers/{AxisAlignedBoundingBox-bfb1234f.js → AxisAlignedBoundingBox-a4321399.js} +1 -1
  3. package/Build/Workers/{BoundingRectangle-7ffc2153.js → BoundingRectangle-80d8801f.js} +1 -1
  4. package/Build/Workers/{BoxGeometry-93f344a3.js → BoxGeometry-33c10a4f.js} +1 -1
  5. package/Build/Workers/{Color-0c5aaf47.js → Color-1bf9a6e0.js} +1 -1
  6. package/Build/Workers/{CoplanarPolygonGeometryLibrary-6597982a.js → CoplanarPolygonGeometryLibrary-5c5b981b.js} +1 -1
  7. package/Build/Workers/{CorridorGeometryLibrary-2119580e.js → CorridorGeometryLibrary-7cbae7a0.js} +1 -1
  8. package/Build/Workers/{CylinderGeometry-f9503c6d.js → CylinderGeometry-42740df0.js} +1 -1
  9. package/Build/Workers/{EllipseGeometry-fedf72d5.js → EllipseGeometry-49a3ac21.js} +1 -1
  10. package/Build/Workers/{EllipseGeometryLibrary-4ea68687.js → EllipseGeometryLibrary-b891b2f8.js} +1 -1
  11. package/Build/Workers/{EllipseOutlineGeometry-e2ae6a35.js → EllipseOutlineGeometry-fbd72e07.js} +1 -1
  12. package/Build/Workers/{EllipsoidGeodesic-16de63ea.js → EllipsoidGeodesic-98c62a56.js} +1 -1
  13. package/Build/Workers/{EllipsoidGeometry-95c0330e.js → EllipsoidGeometry-a351dba8.js} +1 -1
  14. package/Build/Workers/{EllipsoidOutlineGeometry-d6d2ceec.js → EllipsoidOutlineGeometry-3e8779bf.js} +1 -1
  15. package/Build/Workers/{EllipsoidRhumbLine-ae5e65e0.js → EllipsoidRhumbLine-19756602.js} +1 -1
  16. package/Build/Workers/{EllipsoidTangentPlane-bfc674bf.js → EllipsoidTangentPlane-cfb50678.js} +1 -1
  17. package/Build/Workers/{EncodedCartesian3-f473ea18.js → EncodedCartesian3-81f70735.js} +1 -1
  18. package/Build/Workers/{FrustumGeometry-3bf2e4eb.js → FrustumGeometry-c5754412.js} +1 -1
  19. package/Build/Workers/{GeometryAttribute-df5f473e.js → GeometryAttribute-0bfd05e8.js} +1 -1
  20. package/Build/Workers/{GeometryInstance-aa75b4cf.js → GeometryInstance-451dc1cd.js} +1 -1
  21. package/Build/Workers/{GeometryPipeline-f0e46c42.js → GeometryPipeline-0166905d.js} +1 -1
  22. package/Build/Workers/{IntersectionTests-9de29d51.js → IntersectionTests-a93d3de9.js} +1 -1
  23. package/Build/Workers/{Matrix2-ce637455.js → Matrix2-13178034.js} +4 -2
  24. package/Build/Workers/{Matrix3-4f4df527.js → Matrix3-315394f6.js} +2 -1
  25. package/Build/Workers/{OrientedBoundingBox-d3ff3d4d.js → OrientedBoundingBox-b450cb61.js} +5 -5
  26. package/Build/Workers/{Plane-b81241c2.js → Plane-900aa728.js} +1 -1
  27. package/Build/Workers/{PolygonGeometryLibrary-6f4937bb.js → PolygonGeometryLibrary-f918ac26.js} +1 -1
  28. package/Build/Workers/PolygonPipeline-f59a8f0a.js +1345 -0
  29. package/Build/Workers/{PolylinePipeline-2e2b015c.js → PolylinePipeline-d8e6bd9b.js} +1 -1
  30. package/Build/Workers/{PolylineVolumeGeometryLibrary-7ee1d449.js → PolylineVolumeGeometryLibrary-125d2edf.js} +1 -1
  31. package/Build/Workers/{PrimitivePipeline-a9b7aae0.js → PrimitivePipeline-0d7b5ed4.js} +1 -1
  32. package/Build/Workers/{RectangleGeometryLibrary-9aa6c8f6.js → RectangleGeometryLibrary-0768db63.js} +1 -1
  33. package/Build/Workers/{TerrainEncoding-b52dcfc5.js → TerrainEncoding-06470d7f.js} +1 -1
  34. package/Build/Workers/{Transforms-2f755df8.js → Transforms-26539bce.js} +97 -83
  35. package/Build/Workers/{WallGeometryLibrary-ab19a93d.js → WallGeometryLibrary-6167b0fc.js} +1 -1
  36. package/Build/Workers/{WebMercatorProjection-9f25de49.js → WebMercatorProjection-13a90d41.js} +1 -1
  37. package/Build/Workers/cesiumWorkerBootstrapper.js +25 -1
  38. package/Build/Workers/combineGeometry.js +1 -1
  39. package/Build/Workers/createBoxGeometry.js +1 -1
  40. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  41. package/Build/Workers/createCircleGeometry.js +1 -1
  42. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  43. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  44. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  45. package/Build/Workers/createCorridorGeometry.js +1 -1
  46. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  47. package/Build/Workers/createCylinderGeometry.js +1 -1
  48. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  49. package/Build/Workers/createEllipseGeometry.js +1 -1
  50. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  51. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  52. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  53. package/Build/Workers/createFrustumGeometry.js +1 -1
  54. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  55. package/Build/Workers/createGeometry.js +1 -1
  56. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  57. package/Build/Workers/createPlaneGeometry.js +1 -1
  58. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  59. package/Build/Workers/createPolygonGeometry.js +1 -1
  60. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  61. package/Build/Workers/createPolylineGeometry.js +1 -1
  62. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  63. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  64. package/Build/Workers/createRectangleGeometry.js +1 -1
  65. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  66. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  67. package/Build/Workers/createSphereGeometry.js +1 -1
  68. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  69. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  70. package/Build/Workers/createVectorTileGeometries.js +1 -1
  71. package/Build/Workers/createVectorTilePoints.js +1 -1
  72. package/Build/Workers/createVectorTilePolygons.js +1 -1
  73. package/Build/Workers/createVectorTilePolylines.js +1 -1
  74. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  75. package/Build/Workers/createVerticesFromHeightmap.js +7 -3
  76. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  77. package/Build/Workers/createWallGeometry.js +1 -1
  78. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  79. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +95 -76
  80. package/Build/Workers/decodeI3S.js +1 -1
  81. package/Build/Workers/package.js +25 -1
  82. package/Build/Workers/transferTypedArrayTest.js +25 -1
  83. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  84. package/README.md +9 -9
  85. package/Source/Core/EarthOrientationParameters.js +67 -63
  86. package/Source/Core/Ion.js +1 -1
  87. package/Source/Core/Matrix2.js +2 -1
  88. package/Source/Core/Matrix3.js +2 -1
  89. package/Source/Core/Matrix4.js +1 -0
  90. package/Source/Core/OrientedBoundingBox.js +4 -4
  91. package/Source/Core/S2Cell.js +3 -3
  92. package/Source/Core/Transforms.js +3 -7
  93. package/Source/DataSources/GpxDataSource.js +4 -6
  94. package/Source/DataSources/KmlDataSource.js +3 -5
  95. package/Source/Renderer/Context.js +230 -177
  96. package/Source/Renderer/Pass.js +3 -2
  97. package/Source/Scene/Cesium3DTileContentType.js +19 -0
  98. package/Source/Scene/Cesium3DTilesVoxelProvider.js +482 -0
  99. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  100. package/Source/Scene/ContentMetadata.js +2 -2
  101. package/Source/Scene/DerivedCommand.js +7 -0
  102. package/Source/Scene/Expression.js +1 -1
  103. package/Source/Scene/Globe.js +10 -0
  104. package/Source/Scene/GlobeSurfaceTileProvider.js +7 -0
  105. package/Source/Scene/GltfImageLoader.js +1 -1
  106. package/Source/Scene/GltfVertexBufferLoader.js +10 -2
  107. package/Source/Scene/GroupMetadata.js +2 -2
  108. package/Source/Scene/I3SDataProvider.js +2 -1
  109. package/Source/Scene/I3SFeature.js +1 -1
  110. package/Source/Scene/I3SLayer.js +64 -2
  111. package/Source/Scene/I3SNode.js +50 -6
  112. package/Source/Scene/ImplicitMetadataView.js +2 -2
  113. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  114. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  115. package/Source/Scene/ImplicitTileset.js +3 -2
  116. package/Source/Scene/KeyframeNode.js +47 -0
  117. package/Source/Scene/Megatexture.js +490 -0
  118. package/Source/Scene/MetadataClass.js +60 -25
  119. package/Source/Scene/MetadataClassProperty.js +132 -68
  120. package/Source/Scene/MetadataComponentType.js +78 -57
  121. package/Source/Scene/MetadataEnum.js +59 -23
  122. package/Source/Scene/MetadataEnumValue.js +49 -15
  123. package/Source/Scene/MetadataSchema.js +53 -24
  124. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  125. package/Source/Scene/MetadataTableProperty.js +2 -2
  126. package/Source/Scene/MetadataType.js +6 -14
  127. package/Source/Scene/Model/GeoJsonLoader.js +1 -1
  128. package/Source/Scene/Model/Model.js +38 -6
  129. package/Source/Scene/Model/buildDrawCommand.js +19 -11
  130. package/Source/Scene/PointCloud.js +1 -1
  131. package/Source/Scene/PropertyAttribute.js +2 -2
  132. package/Source/Scene/PropertyAttributeProperty.js +2 -2
  133. package/Source/Scene/PropertyTable.js +2 -2
  134. package/Source/Scene/PropertyTexture.js +2 -2
  135. package/Source/Scene/PropertyTextureProperty.js +2 -2
  136. package/Source/Scene/ResourceCache.js +9 -1
  137. package/Source/Scene/ResourceCacheKey.js +9 -1
  138. package/Source/Scene/Scene.js +20 -50
  139. package/Source/Scene/SpatialNode.js +375 -0
  140. package/Source/Scene/StructuralMetadata.js +2 -2
  141. package/Source/Scene/TileMetadata.js +2 -2
  142. package/Source/Scene/TilesetMetadata.js +2 -2
  143. package/Source/Scene/VoxelBoxShape.js +527 -0
  144. package/Source/Scene/VoxelContent.js +169 -0
  145. package/Source/Scene/VoxelCylinderShape.js +937 -0
  146. package/Source/Scene/VoxelEllipsoidShape.js +937 -0
  147. package/Source/Scene/VoxelPrimitive.js +1919 -0
  148. package/Source/Scene/VoxelProvider.js +255 -0
  149. package/Source/Scene/VoxelRenderResources.js +224 -0
  150. package/Source/Scene/VoxelShape.js +152 -0
  151. package/Source/Scene/VoxelShapeType.js +105 -0
  152. package/Source/Scene/VoxelTraversal.js +1144 -0
  153. package/Source/Scene/buildVoxelDrawCommands.js +116 -0
  154. package/Source/Scene/parseBatchTable.js +18 -2
  155. package/Source/Scene/preprocess3DTileContent.js +8 -0
  156. package/Source/Scene/processVoxelProperties.js +455 -0
  157. package/Source/Shaders/BillboardCollectionVS.glsl +1 -1
  158. package/Source/Shaders/BillboardCollectionVS.js +1 -1
  159. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  160. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  161. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  162. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  163. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  164. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +55 -43
  165. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +55 -43
  166. package/Source/Shaders/GlobeFS.glsl +2 -1
  167. package/Source/Shaders/GlobeFS.js +2 -1
  168. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +5 -2
  169. package/Source/Shaders/PointPrimitiveCollectionVS.js +5 -2
  170. package/Source/Shaders/Voxels/IntersectBox.glsl +79 -0
  171. package/Source/Shaders/Voxels/IntersectBox.js +81 -0
  172. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +70 -0
  173. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +72 -0
  174. package/Source/Shaders/Voxels/IntersectCylinder.glsl +273 -0
  175. package/Source/Shaders/Voxels/IntersectCylinder.js +275 -0
  176. package/Source/Shaders/Voxels/IntersectDepth.glsl +23 -0
  177. package/Source/Shaders/Voxels/IntersectDepth.js +25 -0
  178. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +337 -0
  179. package/Source/Shaders/Voxels/IntersectEllipsoid.js +339 -0
  180. package/Source/Shaders/Voxels/Intersection.glsl +54 -0
  181. package/Source/Shaders/Voxels/Intersection.js +56 -0
  182. package/Source/Shaders/Voxels/IntersectionUtils.glsl +151 -0
  183. package/Source/Shaders/Voxels/IntersectionUtils.js +153 -0
  184. package/Source/Shaders/Voxels/Megatexture.glsl +136 -0
  185. package/Source/Shaders/Voxels/Megatexture.js +138 -0
  186. package/Source/Shaders/Voxels/Octree.glsl +221 -0
  187. package/Source/Shaders/Voxels/Octree.js +223 -0
  188. package/Source/Shaders/Voxels/VoxelFS.glsl +150 -0
  189. package/Source/Shaders/Voxels/VoxelFS.js +152 -0
  190. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  191. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  192. package/Source/Shaders/Voxels/convertUvToBox.glsl +16 -0
  193. package/Source/Shaders/Voxels/convertUvToBox.js +18 -0
  194. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +79 -0
  195. package/Source/Shaders/Voxels/convertUvToCylinder.js +81 -0
  196. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +133 -0
  197. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +135 -0
  198. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +100 -101
  199. package/Source/ThirdParty/Workers/pako_deflate.min.js +2 -2
  200. package/Source/ThirdParty/Workers/pako_inflate.min.js +2 -2
  201. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  202. package/Source/Widget/CesiumWidget.js +1 -1
  203. package/index.d.ts +961 -56
  204. package/index.js +92 -60
  205. package/package.json +6 -4
  206. package/Build/ThirdParty/Workers/basis_transcoder.js +0 -2233
  207. package/Build/ThirdParty/Workers/draco_decoder_nodejs.js +0 -1872
  208. package/Build/ThirdParty/Workers/package.json +0 -1
  209. package/Build/ThirdParty/Workers/pako_deflate.min.js +0 -589
  210. package/Build/ThirdParty/Workers/pako_inflate.min.js +0 -798
  211. package/Build/ThirdParty/Workers/z-worker-pako.js +0 -503
  212. package/Build/ThirdParty/basis_transcoder.wasm +0 -0
  213. package/Build/ThirdParty/draco_decoder.wasm +0 -0
  214. package/Build/ThirdParty/google-earth-dbroot-parser.js +0 -8019
  215. package/Build/Widget/CesiumWidget.css +0 -120
  216. package/Build/Widget/lighter.css +0 -13
  217. package/Build/Workers/PolygonPipeline-774a8aaf.js +0 -1341
@@ -1,4 +1,5 @@
1
1
  import binarySearch from "./binarySearch.js";
2
+ import Check from "./Check.js";
2
3
  import defaultValue from "./defaultValue.js";
3
4
  import defined from "./defined.js";
4
5
  import EarthOrientationParametersSample from "./EarthOrientationParametersSample.js";
@@ -14,15 +15,12 @@ import TimeStandard from "./TimeStandard.js";
14
15
  * These Earth Orientation Parameters (EOP) are primarily used in the transformation from
15
16
  * the International Celestial Reference Frame (ICRF) to the International Terrestrial
16
17
  * Reference Frame (ITRF).
18
+ * This object is normally not instantiated directly, use {@link EarthOrientationParameters.fromUrl}.
17
19
  *
18
20
  * @alias EarthOrientationParameters
19
21
  * @constructor
20
22
  *
21
23
  * @param {Object} [options] Object with the following properties:
22
- * @param {Resource|String} [options.url] The URL from which to obtain EOP data. If neither this
23
- * parameter nor options.data is specified, all EOP values are assumed
24
- * to be 0.0. If options.data is specified, this parameter is
25
- * ignored.
26
24
  * @param {Object} [options.data] The actual EOP data. If neither this
27
25
  * parameter nor options.data is specified, all EOP values are assumed
28
26
  * to be 0.0.
@@ -32,22 +30,6 @@ import TimeStandard from "./TimeStandard.js";
32
30
  * new leap seconds should be handled correctly in the context
33
31
  * of the EOP data but otherwise ignored.
34
32
  *
35
- * @example
36
- * // An example EOP data file, EOP.json:
37
- * {
38
- * "columnNames" : ["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],
39
- * "samples" : [
40
- * "2011-07-01T00:00:00Z",55743.0,2.117957047295119e-7,2.111518721609984e-6,-0.2908948,-2.956e-4,3.393695767766752e-11,3.3452143996557983e-10,34.0,
41
- * "2011-07-02T00:00:00Z",55744.0,2.193297093339541e-7,2.115460256837405e-6,-0.29065,-1.824e-4,-8.241832578862112e-11,5.623838700870617e-10,34.0,
42
- * "2011-07-03T00:00:00Z",55745.0,2.262286080161428e-7,2.1191157519929706e-6,-0.2905572,1.9e-6,-3.490658503988659e-10,6.981317007977318e-10,34.0
43
- * ]
44
- * }
45
- *
46
- * @example
47
- * // Loading the EOP data
48
- * const eop = new Cesium.EarthOrientationParameters({ url : 'Data/EOP.json' });
49
- * Cesium.Transforms.earthOrientationParameters = eop;
50
- *
51
33
  * @private
52
34
  */
53
35
  function EarthOrientationParameters(options) {
@@ -67,27 +49,11 @@ function EarthOrientationParameters(options) {
67
49
  this._columnCount = 0;
68
50
  this._lastIndex = -1;
69
51
 
70
- this._downloadPromise = undefined;
71
- this._dataError = undefined;
72
-
73
52
  this._addNewLeapSeconds = defaultValue(options.addNewLeapSeconds, true);
74
53
 
75
54
  if (defined(options.data)) {
76
55
  // Use supplied EOP data.
77
56
  onDataReady(this, options.data);
78
- } else if (defined(options.url)) {
79
- const resource = Resource.createIfNeeded(options.url);
80
-
81
- // Download EOP data.
82
- const that = this;
83
- this._downloadPromise = resource
84
- .fetchJson()
85
- .then(function (eopData) {
86
- onDataReady(that, eopData);
87
- })
88
- .catch(function () {
89
- that._dataError = `An error occurred while retrieving the EOP data from the URL ${resource.url}.`;
90
- });
91
57
  } else {
92
58
  // Use all zeros for EOP data.
93
59
  onDataReady(this, {
@@ -107,13 +73,64 @@ function EarthOrientationParameters(options) {
107
73
  }
108
74
  }
109
75
 
76
+ /**
77
+ *
78
+ * @param {Resource|String} [url] The URL from which to obtain EOP data. If neither this
79
+ * parameter nor options.data is specified, all EOP values are assumed
80
+ * to be 0.0. If options.data is specified, this parameter is
81
+ * ignored.
82
+ * @param {Object} [options] Object with the following properties:
83
+ * @param {Boolean} [options.addNewLeapSeconds=true] True if leap seconds that
84
+ * are specified in the EOP data but not in {@link JulianDate.leapSeconds}
85
+ * should be added to {@link JulianDate.leapSeconds}. False if
86
+ * new leap seconds should be handled correctly in the context
87
+ * of the EOP data but otherwise ignored.
88
+ *
89
+ * @example
90
+ * // An example EOP data file, EOP.json:
91
+ * {
92
+ * "columnNames" : ["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],
93
+ * "samples" : [
94
+ * "2011-07-01T00:00:00Z",55743.0,2.117957047295119e-7,2.111518721609984e-6,-0.2908948,-2.956e-4,3.393695767766752e-11,3.3452143996557983e-10,34.0,
95
+ * "2011-07-02T00:00:00Z",55744.0,2.193297093339541e-7,2.115460256837405e-6,-0.29065,-1.824e-4,-8.241832578862112e-11,5.623838700870617e-10,34.0,
96
+ * "2011-07-03T00:00:00Z",55745.0,2.262286080161428e-7,2.1191157519929706e-6,-0.2905572,1.9e-6,-3.490658503988659e-10,6.981317007977318e-10,34.0
97
+ * ]
98
+ * }
99
+ *
100
+ * @example
101
+ * // Loading the EOP data
102
+ * const eop = await Cesium.EarthOrientationParameters.fromUrl('Data/EOP.json');
103
+ * Cesium.Transforms.earthOrientationParameters = eop;
104
+ */
105
+ EarthOrientationParameters.fromUrl = async function (url, options) {
106
+ //>>includeStart('debug', pragmas.debug);
107
+ Check.defined("url", url);
108
+ //>>includeEnd('debug');
109
+
110
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
111
+
112
+ const resource = Resource.createIfNeeded(url);
113
+
114
+ // Download EOP data.
115
+ let eopData;
116
+ try {
117
+ eopData = await resource.fetchJson();
118
+ } catch (e) {
119
+ throw new RuntimeError(
120
+ `An error occurred while retrieving the EOP data from the URL ${resource.url}.`
121
+ );
122
+ }
123
+
124
+ return new EarthOrientationParameters({
125
+ addNewLeapSeconds: options.addNewLeapSeconds,
126
+ data: eopData,
127
+ });
128
+ };
129
+
110
130
  /**
111
131
  * A default {@link EarthOrientationParameters} instance that returns zero for all EOP values.
112
132
  */
113
133
  EarthOrientationParameters.NONE = Object.freeze({
114
- getPromiseToLoad: function () {
115
- return Promise.resolve();
116
- },
117
134
  compute: function (date, result) {
118
135
  if (!defined(result)) {
119
136
  result = new EarthOrientationParametersSample(0.0, 0.0, 0.0, 0.0, 0.0);
@@ -128,16 +145,6 @@ EarthOrientationParameters.NONE = Object.freeze({
128
145
  },
129
146
  });
130
147
 
131
- /**
132
- * Gets a promise that, when resolved, indicates that the EOP data has been loaded and is
133
- * ready to use.
134
- *
135
- * @returns {Promise<void>} The promise.
136
- */
137
- EarthOrientationParameters.prototype.getPromiseToLoad = function () {
138
- return Promise.resolve(this._downloadPromise);
139
- };
140
-
141
148
  /**
142
149
  * Computes the Earth Orientation Parameters (EOP) for a given date by interpolating.
143
150
  * If the EOP data has not yet been download, this method returns undefined.
@@ -151,15 +158,11 @@ EarthOrientationParameters.prototype.getPromiseToLoad = function () {
151
158
  *
152
159
  * @exception {RuntimeError} The loaded EOP data has an error and cannot be used.
153
160
  *
154
- * @see EarthOrientationParameters#getPromiseToLoad
161
+ * @see EarthOrientationParameters#fromUrl
155
162
  */
156
163
  EarthOrientationParameters.prototype.compute = function (date, result) {
157
164
  // We cannot compute until the samples are available.
158
165
  if (!defined(this._samples)) {
159
- if (defined(this._dataError)) {
160
- throw new RuntimeError(this._dataError);
161
- }
162
-
163
166
  return undefined;
164
167
  }
165
168
 
@@ -237,15 +240,15 @@ function compareLeapSecondDates(leapSecond, dateToFind) {
237
240
 
238
241
  function onDataReady(eop, eopData) {
239
242
  if (!defined(eopData.columnNames)) {
240
- eop._dataError =
241
- "Error in loaded EOP data: The columnNames property is required.";
242
- return;
243
+ throw new RuntimeError(
244
+ "Error in loaded EOP data: The columnNames property is required."
245
+ );
243
246
  }
244
247
 
245
248
  if (!defined(eopData.samples)) {
246
- eop._dataError =
247
- "Error in loaded EOP data: The samples property is required.";
248
- return;
249
+ throw new RuntimeError(
250
+ "Error in loaded EOP data: The samples property is required."
251
+ );
249
252
  }
250
253
 
251
254
  const dateColumn = eopData.columnNames.indexOf("modifiedJulianDateUtc");
@@ -277,9 +280,9 @@ function onDataReady(eop, eopData) {
277
280
  yCelestialPoleOffsetRadiansColumn < 0 ||
278
281
  taiMinusUtcSecondsColumn < 0
279
282
  ) {
280
- eop._dataError =
281
- "Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns";
282
- return;
283
+ throw new RuntimeError(
284
+ "Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns"
285
+ );
283
286
  }
284
287
 
285
288
  const samples = (eop._samples = eopData.samples);
@@ -428,4 +431,5 @@ function interpolate(eop, dates, samples, date, before, after, result) {
428
431
  );
429
432
  return result;
430
433
  }
434
+
431
435
  export default EarthOrientationParameters;
@@ -4,7 +4,7 @@ import Resource from "./Resource.js";
4
4
 
5
5
  let defaultTokenCredit;
6
6
  const defaultAccessToken =
7
- "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0NTkyNGVkMi04YTg1LTQ4YzktYTI3MS05NTNiZWM3MTg2ZGEiLCJpZCI6MjU5LCJpYXQiOjE2NjQ4MTQyODl9.mGZTN2DeKa-mQnQr6BInj8GzOK6wq3dZMwcyU0iwInA";
7
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyZTlhMmUzMS1iZjI3LTRhMmQtYjFkZi02MDhlMDZjZDlmNDIiLCJpZCI6MjU5LCJpYXQiOjE2NzI2ODQyMDR9.GfS2oIjtP-hkhYm4g_Y6Vvpdp954z30qPWJnlNBF-co";
8
8
 
9
9
  /**
10
10
  * Default settings for accessing the Cesium ion API.
@@ -613,6 +613,7 @@ const scaleScratch4 = new Cartesian2();
613
613
  *
614
614
  * @param {Matrix2} matrix The matrix.
615
615
  * @param {Matrix2} rotation The rotation matrix.
616
+ * @param {Matrix2} result The object onto which to store the result.
616
617
  * @returns {Matrix2} The modified result parameter.
617
618
  *
618
619
  * @see Matrix2.fromRotation
@@ -782,7 +783,7 @@ Matrix2.multiplyByScalar = function (matrix, scalar, result) {
782
783
  * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
783
784
  *
784
785
  * @param {Matrix2} matrix The matrix on the left-hand side.
785
- * @param {Number} scale The non-uniform scale on the right-hand side.
786
+ * @param {Cartesian2} scale The non-uniform scale on the right-hand side.
786
787
  * @param {Matrix2} result The object onto which to store the result.
787
788
  * @returns {Matrix2} The modified result parameter.
788
789
  *
@@ -974,6 +974,7 @@ const scaleScratch4 = new Cartesian3();
974
974
  *
975
975
  * @param {Matrix3} matrix The matrix.
976
976
  * @param {Matrix3} rotation The rotation matrix.
977
+ * @param {Matrix3} result The object onto which to store the result.
977
978
  * @returns {Matrix3} The modified result parameter.
978
979
  *
979
980
  * @see Matrix3.getRotation
@@ -1193,7 +1194,7 @@ Matrix3.multiplyByScalar = function (matrix, scalar, result) {
1193
1194
  * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
1194
1195
  *
1195
1196
  * @param {Matrix3} matrix The matrix on the left-hand side.
1196
- * @param {Number} scale The non-uniform scale on the right-hand side.
1197
+ * @param {Cartesian3} scale The non-uniform scale on the right-hand side.
1197
1198
  * @param {Matrix3} result The object onto which to store the result.
1198
1199
  * @returns {Matrix3} The modified result parameter.
1199
1200
  *
@@ -1633,6 +1633,7 @@ const scaleScratch4 = new Cartesian3();
1633
1633
  *
1634
1634
  * @param {Matrix4} matrix The matrix.
1635
1635
  * @param {Matrix3} rotation The rotation matrix.
1636
+ * @param {Matrix4} result The object onto which to store the result.
1636
1637
  * @returns {Matrix4} The modified result parameter.
1637
1638
  *
1638
1639
  * @see Matrix4.fromRotation
@@ -18,13 +18,13 @@ import Rectangle from "./Rectangle.js";
18
18
 
19
19
  /**
20
20
  * Creates an instance of an OrientedBoundingBox.
21
- * An OrientedBoundingBox of some object is a closed and convex cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases.
21
+ * An OrientedBoundingBox of some object is a closed and convex rectangular cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases.
22
22
  * @alias OrientedBoundingBox
23
23
  * @constructor
24
24
  *
25
25
  * @param {Cartesian3} [center=Cartesian3.ZERO] The center of the box.
26
26
  * @param {Matrix3} [halfAxes=Matrix3.ZERO] The three orthogonal half-axes of the bounding box.
27
- * Equivalently, the transformation matrix, to rotate and scale a 0x0x0
27
+ * Equivalently, the transformation matrix, to rotate and scale a 1x1x1
28
28
  * cube centered at the origin.
29
29
  *
30
30
  *
@@ -334,7 +334,7 @@ const scratchPlane = new Plane(Cartesian3.UNIT_X, 0.0);
334
334
  * @param {OrientedBoundingBox} [result] The object onto which to store the result.
335
335
  * @returns {OrientedBoundingBox} The modified result parameter or a new OrientedBoundingBox instance if none was provided.
336
336
  *
337
- * @exception {DeveloperError} rectangle.width must be between 0 and pi.
337
+ * @exception {DeveloperError} rectangle.width must be between 0 and 2 * pi.
338
338
  * @exception {DeveloperError} rectangle.height must be between 0 and pi.
339
339
  * @exception {DeveloperError} ellipsoid must be an ellipsoid of revolution (<code>radii.x == radii.y</code>)
340
340
  */
@@ -350,7 +350,7 @@ OrientedBoundingBox.fromRectangle = function (
350
350
  throw new DeveloperError("rectangle is required");
351
351
  }
352
352
  if (rectangle.width < 0.0 || rectangle.width > CesiumMath.TWO_PI) {
353
- throw new DeveloperError("Rectangle width must be between 0 and 2*pi");
353
+ throw new DeveloperError("Rectangle width must be between 0 and 2 * pi");
354
354
  }
355
355
  if (rectangle.height < 0.0 || rectangle.height > CesiumMath.PI) {
356
356
  throw new DeveloperError("Rectangle height must be between 0 and pi");
@@ -264,7 +264,7 @@ S2Cell.getIdFromToken = function (token) {
264
264
  * Converts a 64-bit S2 cell ID to an S2 cell token.
265
265
  *
266
266
  * @param {BigInt} [cellId] The S2 cell ID.
267
- * @returns {BigInt} Returns hexadecimal representation of an S2CellId.
267
+ * @returns {string} Returns hexadecimal representation of an S2CellId.
268
268
  * @private
269
269
  */
270
270
  S2Cell.getTokenFromId = function (cellId) {
@@ -378,7 +378,7 @@ S2Cell.prototype.getParentAtLevel = function (level) {
378
378
  * Get center of the S2 cell.
379
379
  *
380
380
  * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid.
381
- * @returns {Cartesian} The position of center of the S2 cell.
381
+ * @returns {Cartesian3} The position of center of the S2 cell.
382
382
  * @private
383
383
  */
384
384
  S2Cell.prototype.getCenter = function (ellipsoid) {
@@ -400,7 +400,7 @@ S2Cell.prototype.getCenter = function (ellipsoid) {
400
400
  *
401
401
  * @param {Number} index An integer index of the vertex. Must be in the range [0-3].
402
402
  * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid.
403
- * @returns {Cartesian} The position of the vertex of the S2 cell.
403
+ * @returns {Cartesian3} The position of the vertex of the S2 cell.
404
404
  * @private
405
405
  */
406
406
  S2Cell.prototype.getVertex = function (index, ellipsoid) {
@@ -659,9 +659,8 @@ const j2000ttDays = 2451545.0;
659
659
  *
660
660
  * @example
661
661
  * const interval = new Cesium.TimeInterval(...);
662
- * Promise.resolve(Cesium.Transforms.preloadIcrfFixed(interval)).then(function() {
663
- * // the data is now loaded
664
- * });
662
+ * await Cesium.Transforms.preloadIcrfFixed(interval));
663
+ * // the data is now loaded
665
664
  *
666
665
  * @see Transforms.computeIcrfToFixedMatrix
667
666
  * @see Transforms.computeFixedToIcrfMatrix
@@ -672,15 +671,12 @@ Transforms.preloadIcrfFixed = function (timeInterval) {
672
671
  const stopDayTT = timeInterval.stop.dayNumber;
673
672
  const stopSecondTT = timeInterval.stop.secondsOfDay + ttMinusTai;
674
673
 
675
- const xysPromise = Transforms.iau2006XysData.preload(
674
+ return Transforms.iau2006XysData.preload(
676
675
  startDayTT,
677
676
  startSecondTT,
678
677
  stopDayTT,
679
678
  stopSecondTT
680
679
  );
681
- const eopPromise = Transforms.earthOrientationParameters.getPromiseToLoad();
682
-
683
- return Promise.all([xysPromise, eopPromise]);
684
680
  };
685
681
 
686
682
  /**
@@ -41,11 +41,9 @@ const autolinker = new Autolinker({
41
41
  stripPrefix: false,
42
42
  email: false,
43
43
  replaceFn: function (linker, match) {
44
- if (!match.protocolUrlMatch) {
45
- // Prevent matching of non-explicit urls.
46
- // i.e. foo.id won't match but http://foo.id will
47
- return false;
48
- }
44
+ //Prevent matching of non-explicit urls.
45
+ //i.e. foo.id won't match but http://foo.id will
46
+ return match.urlMatchType === "scheme" || match.urlMatchType === "www";
49
47
  },
50
48
  });
51
49
 
@@ -754,7 +752,7 @@ function GpxDataSource() {
754
752
  this._error = new Event();
755
753
  this._loading = new Event();
756
754
  this._clock = undefined;
757
- this._entityCollection = new EntityCollection();
755
+ this._entityCollection = new EntityCollection(this);
758
756
  this._entityCluster = new EntityCluster();
759
757
  this._name = undefined;
760
758
  this._version = undefined;
@@ -143,11 +143,9 @@ const autolinker = new Autolinker({
143
143
  stripPrefix: false,
144
144
  email: false,
145
145
  replaceFn: function (match) {
146
- if (!match.protocolUrlMatch) {
147
- //Prevent matching of non-explicit urls.
148
- //i.e. foo.id won't match but http://foo.id will
149
- return false;
150
- }
146
+ //Prevent matching of non-explicit urls.
147
+ //i.e. foo.id won't match but http://foo.id will
148
+ return match.urlMatchType === "scheme" || match.urlMatchType === "www";
151
149
  },
152
150
  });
153
151