@cesium/engine 10.1.0 → 11.0.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 (261) hide show
  1. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-2EDC3QGH.js} +1 -1
  2. package/Build/Workers/{chunk-NVOABL76.js → chunk-2MKRG7L7.js} +5 -5
  3. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-2RZYNSMR.js} +6 -6
  4. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-4NBRIKB3.js} +2 -2
  5. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-4TK5YR6Q.js} +5 -5
  6. package/Build/Workers/{chunk-TF776XCO.js → chunk-54VC7SCM.js} +7 -7
  7. package/Build/Workers/{chunk-2GEAGYUY.js → chunk-5IY5BXCT.js} +13 -13
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-6FFGOENI.js} +10 -7
  9. package/Build/Workers/{chunk-65MZOUNU.js → chunk-6PJIHPQB.js} +13 -13
  10. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-6ZREIBKS.js} +7 -7
  11. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-AI3O7UN2.js} +6 -6
  12. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-AS7P4BHI.js} +6 -6
  13. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-AUM45VEG.js} +16 -15
  14. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-BBO6BGLC.js} +13 -13
  15. package/Build/Workers/{chunk-POSRARY7.js → chunk-BH5ZEN4I.js} +10 -10
  16. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-BJ3WF5RW.js} +6 -6
  17. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-BUOFSNFW.js} +1 -1
  18. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-BZXF3GNX.js} +2 -2
  19. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-DJXXI7UF.js} +5 -5
  20. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-DVAIU7A4.js} +17 -17
  21. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-FJT3ERV7.js} +9 -9
  22. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-GOHDOWU5.js} +14 -14
  23. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-HA6TZ3XT.js} +4 -4
  24. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-HBZSCVZC.js} +11 -11
  25. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-HC7RYWPZ.js} +12 -12
  26. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-HFMJM3SX.js} +1 -1
  27. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-HFPMX5L2.js} +1 -1
  28. package/Build/Workers/{chunk-6D66DPRV.js → chunk-HO2NTC7I.js} +6 -6
  29. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-HZPMWR4H.js} +7 -7
  30. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-IBG5FVXC.js} +4 -4
  31. package/Build/Workers/{chunk-FEVVHITK.js → chunk-IXLNNST6.js} +4 -4
  32. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-JYUCC5NV.js} +6 -6
  33. package/Build/Workers/{chunk-FDCLACT5.js → chunk-KFW4UNQH.js} +10 -10
  34. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-KKAEXHDY.js} +2 -2
  35. package/Build/Workers/{chunk-D2U4RI64.js → chunk-L6FARMF6.js} +7 -7
  36. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-N3BIL6WA.js} +13 -13
  37. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-O5SSW3B3.js} +6 -6
  38. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-OC4MYPVW.js} +2 -2
  39. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-OOA6GXKD.js} +7 -7
  40. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-OSCHEWSG.js} +7 -7
  41. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-QGT2GMOK.js} +4 -4
  42. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-RFQYEYAL.js} +17 -17
  43. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-RJF5ZP76.js} +4 -4
  44. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-SIZXFNJY.js} +6 -5
  45. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-SRZJCF7G.js} +9 -9
  46. package/Build/Workers/{chunk-T77JILCU.js → chunk-T4MB73MC.js} +2 -2
  47. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-TTI2SUWJ.js} +2 -2
  48. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-VHJ5ESXF.js} +1 -1
  49. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-VSFFJGTA.js} +9 -5
  50. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-WQRXRDCZ.js} +11 -11
  51. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-WXDGOYTT.js} +12 -7
  52. package/Build/Workers/{chunk-76BYYG7N.js → chunk-XLCZE6DD.js} +10 -10
  53. package/Build/Workers/combineGeometry.js +22 -22
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +22 -22
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +30 -30
  75. package/Build/Workers/createPolygonOutlineGeometry.js +28 -28
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +29 -29
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +25 -25
  80. package/Build/Workers/createRectangleOutlineGeometry.js +18 -18
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  91. package/Build/Workers/createVerticesFromHeightmap.js +24 -20
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/CompressedTextureBuffer.js +11 -0
  102. package/Source/Core/Ion.js +1 -1
  103. package/Source/Core/KTX2Transcoder.js +9 -16
  104. package/Source/Core/PixelFormat.js +1 -15
  105. package/Source/DataSources/CallbackProperty.js +8 -2
  106. package/Source/DataSources/CheckerboardMaterialProperty.js +7 -1
  107. package/Source/DataSources/ColorMaterialProperty.js +7 -1
  108. package/Source/DataSources/CompositeMaterialProperty.js +5 -4
  109. package/Source/DataSources/CompositePositionProperty.js +7 -1
  110. package/Source/DataSources/CompositeProperty.js +5 -5
  111. package/Source/DataSources/ConstantPositionProperty.js +7 -1
  112. package/Source/DataSources/Entity.js +1 -1
  113. package/Source/DataSources/GridMaterialProperty.js +7 -1
  114. package/Source/DataSources/ImageMaterialProperty.js +8 -1
  115. package/Source/DataSources/MaterialProperty.js +7 -1
  116. package/Source/DataSources/NodeTransformationProperty.js +7 -1
  117. package/Source/DataSources/PolylineArrowMaterialProperty.js +7 -1
  118. package/Source/DataSources/PolylineDashMaterialProperty.js +7 -1
  119. package/Source/DataSources/PolylineGlowMaterialProperty.js +7 -1
  120. package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -1
  121. package/Source/DataSources/PositionProperty.js +1 -1
  122. package/Source/DataSources/PositionPropertyArray.js +7 -1
  123. package/Source/DataSources/Property.js +1 -1
  124. package/Source/DataSources/PropertyArray.js +5 -5
  125. package/Source/DataSources/PropertyBag.js +5 -4
  126. package/Source/DataSources/ReferenceProperty.js +7 -1
  127. package/Source/DataSources/SampledPositionProperty.js +7 -1
  128. package/Source/DataSources/SampledProperty.js +6 -4
  129. package/Source/DataSources/ScaledPositionProperty.js +6 -0
  130. package/Source/DataSources/StripeMaterialProperty.js +7 -1
  131. package/Source/DataSources/TerrainOffsetProperty.js +9 -0
  132. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +7 -1
  133. package/Source/DataSources/TimeIntervalCollectionProperty.js +5 -5
  134. package/Source/DataSources/VelocityOrientationProperty.js +6 -1
  135. package/Source/DataSources/VelocityVectorProperty.js +3 -5
  136. package/Source/Renderer/AutomaticUniforms.js +2 -17
  137. package/Source/Renderer/Context.js +15 -0
  138. package/Source/Renderer/CubeMap.js +326 -348
  139. package/Source/Renderer/CubeMapFace.js +26 -48
  140. package/Source/Renderer/PixelDatatype.js +23 -0
  141. package/Source/Renderer/Sampler.js +7 -13
  142. package/Source/Renderer/ShaderProgram.js +7 -0
  143. package/Source/Renderer/Texture.js +396 -332
  144. package/Source/Renderer/UniformState.js +3 -22
  145. package/Source/Renderer/demodernizeShader.js +2 -0
  146. package/Source/Renderer/loadCubeMap.js +3 -8
  147. package/Source/Scene/ArcGisMapService.js +1 -1
  148. package/Source/Scene/CameraEventAggregator.js +49 -5
  149. package/Source/Scene/Globe.js +1 -1
  150. package/Source/Scene/GlobeSurfaceShaderSet.js +29 -24
  151. package/Source/Scene/GlobeSurfaceTileProvider.js +5 -3
  152. package/Source/Scene/ImageBasedLighting.js +34 -34
  153. package/Source/Scene/Label.js +2 -2
  154. package/Source/Scene/Material.js +24 -2
  155. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +7 -15
  156. package/Source/Scene/PostProcessStageCollection.js +45 -15
  157. package/Source/Scene/PostProcessStageLibrary.js +26 -0
  158. package/Source/Scene/Scene.js +20 -22
  159. package/Source/Scene/SceneTransforms.js +0 -62
  160. package/Source/Scene/ScreenSpaceCameraController.js +11 -4
  161. package/Source/Scene/SkyBox.js +13 -19
  162. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  163. package/Source/Scene/Tonemapper.js +35 -23
  164. package/Source/Scene/VoxelPrimitive.js +0 -29
  165. package/Source/Scene/VoxelRenderResources.js +0 -3
  166. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  167. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
  168. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  169. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  170. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  171. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  172. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  173. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  174. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  175. package/Source/Shaders/GlobeFS.glsl +10 -4
  176. package/Source/Shaders/GlobeFS.js +10 -4
  177. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  178. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  179. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  180. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  181. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  182. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  183. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  184. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  185. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  186. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  187. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  188. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  189. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  190. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  191. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  192. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  193. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  194. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  195. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  196. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  197. package/Source/Widget/CesiumWidget.js +1 -1
  198. package/index.d.ts +117 -101
  199. package/index.js +212 -213
  200. package/package.json +2 -2
  201. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  202. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  203. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  204. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  205. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  206. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  207. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  208. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  209. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  210. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  211. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  212. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  213. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  214. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  215. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  216. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  217. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  218. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  219. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  220. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  221. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  222. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  223. package/Build/Workers/chunk-KV4EQHK4.js +0 -1477
  224. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  225. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  226. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  227. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  228. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  229. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  230. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  231. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  232. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  233. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  234. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  235. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  236. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  237. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  238. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  239. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  240. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  241. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  242. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  243. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  244. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  245. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  246. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  247. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  248. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  249. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  250. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  251. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  252. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  253. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  254. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  255. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  256. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  257. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  258. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  259. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  260. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  261. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -3,6 +3,7 @@ import Color from "../Core/Color.js";
3
3
  import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import Event from "../Core/Event.js";
6
+ import JulianDate from "../Core/JulianDate.js";
6
7
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
7
8
  import Property from "./Property.js";
8
9
 
@@ -105,14 +106,19 @@ CheckerboardMaterialProperty.prototype.getType = function (time) {
105
106
  return "Checkerboard";
106
107
  };
107
108
 
109
+ const timeScratch = new JulianDate();
110
+
108
111
  /**
109
112
  * Gets the value of the property at the provided time.
110
113
  *
111
- * @param {JulianDate} time The time for which to retrieve the value.
114
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
112
115
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
113
116
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
114
117
  */
115
118
  CheckerboardMaterialProperty.prototype.getValue = function (time, result) {
119
+ if (!defined(time)) {
120
+ time = JulianDate.now(timeScratch);
121
+ }
116
122
  if (!defined(result)) {
117
123
  result = {};
118
124
  }
@@ -1,6 +1,7 @@
1
1
  import Color from "../Core/Color.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import Event from "../Core/Event.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
5
6
  import Property from "./Property.js";
6
7
 
@@ -69,14 +70,19 @@ ColorMaterialProperty.prototype.getType = function (time) {
69
70
  return "Color";
70
71
  };
71
72
 
73
+ const timeScratch = new JulianDate();
74
+
72
75
  /**
73
76
  * Gets the value of the property at the provided time.
74
77
  *
75
- * @param {JulianDate} time The time for which to retrieve the value.
78
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
76
79
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
77
80
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
78
81
  */
79
82
  ColorMaterialProperty.prototype.getValue = function (time, result) {
83
+ if (!defined(time)) {
84
+ time = JulianDate.now(timeScratch);
85
+ }
80
86
  if (!defined(result)) {
81
87
  result = {};
82
88
  }
@@ -1,6 +1,7 @@
1
1
  import defined from "../Core/defined.js";
2
2
  import DeveloperError from "../Core/DeveloperError.js";
3
3
  import Event from "../Core/Event.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import CompositeProperty from "./CompositeProperty.js";
5
6
  import Property from "./Property.js";
6
7
 
@@ -82,19 +83,19 @@ CompositeMaterialProperty.prototype.getType = function (time) {
82
83
  return undefined;
83
84
  };
84
85
 
86
+ const timeScratch = new JulianDate();
87
+
85
88
  /**
86
89
  * Gets the value of the property at the provided time.
87
90
  *
88
- * @param {JulianDate} time The time for which to retrieve the value.
91
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
89
92
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
90
93
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
91
94
  */
92
95
  CompositeMaterialProperty.prototype.getValue = function (time, result) {
93
- //>>includeStart('debug', pragmas.debug);
94
96
  if (!defined(time)) {
95
- throw new DeveloperError("time is required");
97
+ time = JulianDate.now(timeScratch);
96
98
  }
97
- //>>includeEnd('debug');
98
99
 
99
100
  const innerProperty = this._composite._intervals.findDataForIntervalContainingDate(
100
101
  time
@@ -2,6 +2,7 @@ import defaultValue from "../Core/defaultValue.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import DeveloperError from "../Core/DeveloperError.js";
4
4
  import Event from "../Core/Event.js";
5
+ import JulianDate from "../Core/JulianDate.js";
5
6
  import ReferenceFrame from "../Core/ReferenceFrame.js";
6
7
  import CompositeProperty from "./CompositeProperty.js";
7
8
  import Property from "./Property.js";
@@ -82,14 +83,19 @@ Object.defineProperties(CompositePositionProperty.prototype, {
82
83
  },
83
84
  });
84
85
 
86
+ const timeScratch = new JulianDate();
87
+
85
88
  /**
86
89
  * Gets the value of the property at the provided time in the fixed frame.
87
90
  *
88
- * @param {JulianDate} time The time for which to retrieve the value.
91
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
89
92
  * @param {Cartesian3} [result] The object to store the value into, if omitted, a new instance is created and returned.
90
93
  * @returns {Cartesian3 | undefined} The modified result parameter or a new instance if the result parameter was not supplied.
91
94
  */
92
95
  CompositePositionProperty.prototype.getValue = function (time, result) {
96
+ if (!defined(time)) {
97
+ time = JulianDate.now(timeScratch);
98
+ }
93
99
  return this.getValueInReferenceFrame(time, ReferenceFrame.FIXED, result);
94
100
  };
95
101
 
@@ -1,7 +1,7 @@
1
1
  import defined from "../Core/defined.js";
2
- import DeveloperError from "../Core/DeveloperError.js";
3
2
  import Event from "../Core/Event.js";
4
3
  import EventHelper from "../Core/EventHelper.js";
4
+ import JulianDate from "../Core/JulianDate.js";
5
5
  import TimeIntervalCollection from "../Core/TimeIntervalCollection.js";
6
6
  import Property from "./Property.js";
7
7
 
@@ -103,19 +103,19 @@ Object.defineProperties(CompositeProperty.prototype, {
103
103
  },
104
104
  });
105
105
 
106
+ const timeScratch = new JulianDate();
107
+
106
108
  /**
107
109
  * Gets the value of the property at the provided time.
108
110
  *
109
- * @param {JulianDate} time The time for which to retrieve the value.
111
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
110
112
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
111
113
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
112
114
  */
113
115
  CompositeProperty.prototype.getValue = function (time, result) {
114
- //>>includeStart('debug', pragmas.debug);
115
116
  if (!defined(time)) {
116
- throw new DeveloperError("time is required");
117
+ time = JulianDate.now(timeScratch);
117
118
  }
118
- //>>includeEnd('debug');
119
119
 
120
120
  const innerProperty = this._intervals.findDataForIntervalContainingDate(time);
121
121
  if (defined(innerProperty)) {
@@ -3,6 +3,7 @@ import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import DeveloperError from "../Core/DeveloperError.js";
5
5
  import Event from "../Core/Event.js";
6
+ import JulianDate from "../Core/JulianDate.js";
6
7
  import ReferenceFrame from "../Core/ReferenceFrame.js";
7
8
  import PositionProperty from "./PositionProperty.js";
8
9
 
@@ -65,14 +66,19 @@ Object.defineProperties(ConstantPositionProperty.prototype, {
65
66
  },
66
67
  });
67
68
 
69
+ const timeScratch = new JulianDate();
70
+
68
71
  /**
69
72
  * Gets the value of the property at the provided time in the fixed frame.
70
73
  *
71
- * @param {JulianDate} time The time for which to retrieve the value.
74
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
72
75
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
73
76
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
74
77
  */
75
78
  ConstantPositionProperty.prototype.getValue = function (time, result) {
79
+ if (!defined(time)) {
80
+ time = JulianDate.now(timeScratch);
81
+ }
76
82
  return this.getValueInReferenceFrame(time, ReferenceFrame.FIXED, result);
77
83
  };
78
84
 
@@ -74,7 +74,7 @@ function createPropertyTypeDescriptor(name, Type) {
74
74
  * @property {TimeIntervalCollection} [availability] The availability, if any, associated with this object.
75
75
  * @property {boolean} [show] A boolean value indicating if the entity and its children are displayed.
76
76
  * @property {Property | string} [description] A string Property specifying an HTML description for this entity.
77
- * @property {PositionProperty | Cartesian3} [position] A Property specifying the entity position.
77
+ * @property {PositionProperty | Cartesian3 | CallbackProperty} [position] A Property specifying the entity position.
78
78
  * @property {Property | Quaternion} [orientation=Transforms.eastNorthUpToFixedFrame(position)] A Property specifying the entity orientation in respect to Earth-fixed-Earth-centered (ECEF). If undefined, east-north-up at entity position is used.
79
79
  * @property {Property | Cartesian3} [viewFrom] A suggested initial offset for viewing this object.
80
80
  * @property {Entity} [parent] A parent entity to associate with this entity.
@@ -3,6 +3,7 @@ import Color from "../Core/Color.js";
3
3
  import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import Event from "../Core/Event.js";
6
+ import JulianDate from "../Core/JulianDate.js";
6
7
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
7
8
  import Property from "./Property.js";
8
9
 
@@ -134,14 +135,19 @@ GridMaterialProperty.prototype.getType = function (time) {
134
135
  return "Grid";
135
136
  };
136
137
 
138
+ const timeScratch = new JulianDate();
139
+
137
140
  /**
138
141
  * Gets the value of the property at the provided time.
139
142
  *
140
- * @param {JulianDate} time The time for which to retrieve the value.
143
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
141
144
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
142
145
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
143
146
  */
144
147
  GridMaterialProperty.prototype.getValue = function (time, result) {
148
+ if (!defined(time)) {
149
+ time = JulianDate.now(timeScratch);
150
+ }
145
151
  if (!defined(result)) {
146
152
  result = {};
147
153
  }
@@ -3,6 +3,7 @@ import Color from "../Core/Color.js";
3
3
  import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import Event from "../Core/Event.js";
6
+ import JulianDate from "../Core/JulianDate.js";
6
7
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
7
8
  import Property from "./Property.js";
8
9
 
@@ -114,14 +115,20 @@ ImageMaterialProperty.prototype.getType = function (time) {
114
115
  return "Image";
115
116
  };
116
117
 
118
+ const timeScratch = new JulianDate();
119
+
117
120
  /**
118
121
  * Gets the value of the property at the provided time.
119
122
  *
120
- * @param {JulianDate} time The time for which to retrieve the value.
123
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
121
124
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
122
125
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
123
126
  */
124
127
  ImageMaterialProperty.prototype.getValue = function (time, result) {
128
+ if (!defined(time)) {
129
+ time = JulianDate.now(timeScratch);
130
+ }
131
+
125
132
  if (!defined(result)) {
126
133
  result = {};
127
134
  }
@@ -1,6 +1,7 @@
1
1
  import Color from "../Core/Color.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import DeveloperError from "../Core/DeveloperError.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import Material from "../Scene/Material.js";
5
6
 
6
7
  /**
@@ -62,7 +63,7 @@ MaterialProperty.prototype.getType = DeveloperError.throwInstantiationError;
62
63
  * Gets the value of the property at the provided time.
63
64
  * @function
64
65
  *
65
- * @param {JulianDate} time The time for which to retrieve the value.
66
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
66
67
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
67
68
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
68
69
  */
@@ -78,11 +79,16 @@ MaterialProperty.prototype.getValue = DeveloperError.throwInstantiationError;
78
79
  */
79
80
  MaterialProperty.prototype.equals = DeveloperError.throwInstantiationError;
80
81
 
82
+ const timeScratch = new JulianDate();
83
+
81
84
  /**
82
85
  * @private
83
86
  */
84
87
  MaterialProperty.getValue = function (time, materialProperty, material) {
85
88
  let type;
89
+ if (!defined(time)) {
90
+ time = JulianDate.now(timeScratch);
91
+ }
86
92
 
87
93
  if (defined(materialProperty)) {
88
94
  type = materialProperty.getType(time);
@@ -1,6 +1,7 @@
1
1
  import defaultValue from "../Core/defaultValue.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import Event from "../Core/Event.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import TranslationRotationScale from "../Core/TranslationRotationScale.js";
5
6
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
6
7
  import Property from "./Property.js";
@@ -92,14 +93,19 @@ Object.defineProperties(NodeTransformationProperty.prototype, {
92
93
  scale: createPropertyDescriptor("scale"),
93
94
  });
94
95
 
96
+ const timeScratch = new JulianDate();
97
+
95
98
  /**
96
99
  * Gets the value of the property at the provided time.
97
100
  *
98
- * @param {JulianDate} time The time for which to retrieve the value.
101
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
99
102
  * @param {TranslationRotationScale} [result] The object to store the value into, if omitted, a new instance is created and returned.
100
103
  * @returns {TranslationRotationScale} The modified result parameter or a new instance if the result parameter was not supplied.
101
104
  */
102
105
  NodeTransformationProperty.prototype.getValue = function (time, result) {
106
+ if (!defined(time)) {
107
+ time = JulianDate.now(timeScratch);
108
+ }
103
109
  if (!defined(result)) {
104
110
  result = new TranslationRotationScale();
105
111
  }
@@ -1,6 +1,7 @@
1
1
  import Color from "../Core/Color.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import Event from "../Core/Event.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
5
6
  import Property from "./Property.js";
6
7
 
@@ -67,14 +68,19 @@ PolylineArrowMaterialProperty.prototype.getType = function (time) {
67
68
  return "PolylineArrow";
68
69
  };
69
70
 
71
+ const timeScratch = new JulianDate();
72
+
70
73
  /**
71
74
  * Gets the value of the property at the provided time.
72
75
  *
73
- * @param {JulianDate} time The time for which to retrieve the value.
76
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
74
77
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
75
78
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
76
79
  */
77
80
  PolylineArrowMaterialProperty.prototype.getValue = function (time, result) {
81
+ if (!defined(time)) {
82
+ time = JulianDate.now(timeScratch);
83
+ }
78
84
  if (!defined(result)) {
79
85
  result = {};
80
86
  }
@@ -2,6 +2,7 @@ import Color from "../Core/Color.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import Event from "../Core/Event.js";
5
+ import JulianDate from "../Core/JulianDate.js";
5
6
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
6
7
  import Property from "./Property.js";
7
8
 
@@ -110,14 +111,19 @@ PolylineDashMaterialProperty.prototype.getType = function (time) {
110
111
  return "PolylineDash";
111
112
  };
112
113
 
114
+ const timeScratch = new JulianDate();
115
+
113
116
  /**
114
117
  * Gets the value of the property at the provided time.
115
118
  *
116
- * @param {JulianDate} time The time for which to retrieve the value.
119
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
117
120
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
118
121
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
119
122
  */
120
123
  PolylineDashMaterialProperty.prototype.getValue = function (time, result) {
124
+ if (!defined(time)) {
125
+ time = JulianDate.now(timeScratch);
126
+ }
121
127
  if (!defined(result)) {
122
128
  result = {};
123
129
  }
@@ -2,6 +2,7 @@ import Color from "../Core/Color.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import Event from "../Core/Event.js";
5
+ import JulianDate from "../Core/JulianDate.js";
5
6
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
6
7
  import Property from "./Property.js";
7
8
 
@@ -95,14 +96,19 @@ PolylineGlowMaterialProperty.prototype.getType = function (time) {
95
96
  return "PolylineGlow";
96
97
  };
97
98
 
99
+ const timeScratch = new JulianDate();
100
+
98
101
  /**
99
102
  * Gets the value of the property at the provided time.
100
103
  *
101
- * @param {JulianDate} time The time for which to retrieve the value.
104
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
102
105
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
103
106
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
104
107
  */
105
108
  PolylineGlowMaterialProperty.prototype.getValue = function (time, result) {
109
+ if (!defined(time)) {
110
+ time = JulianDate.now(timeScratch);
111
+ }
106
112
  if (!defined(result)) {
107
113
  result = {};
108
114
  }
@@ -2,6 +2,7 @@ import Color from "../Core/Color.js";
2
2
  import defaultValue from "../Core/defaultValue.js";
3
3
  import defined from "../Core/defined.js";
4
4
  import Event from "../Core/Event.js";
5
+ import JulianDate from "../Core/JulianDate.js";
5
6
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
6
7
  import Property from "./Property.js";
7
8
 
@@ -102,14 +103,19 @@ PolylineOutlineMaterialProperty.prototype.getType = function (time) {
102
103
  return "PolylineOutline";
103
104
  };
104
105
 
106
+ const timeScratch = new JulianDate();
107
+
105
108
  /**
106
109
  * Gets the value of the property at the provided time.
107
110
  *
108
- * @param {JulianDate} time The time for which to retrieve the value.
111
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
109
112
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
110
113
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
111
114
  */
112
115
  PolylineOutlineMaterialProperty.prototype.getValue = function (time, result) {
116
+ if (!defined(time)) {
117
+ time = JulianDate.now(timeScratch);
118
+ }
113
119
  if (!defined(result)) {
114
120
  result = {};
115
121
  }
@@ -61,7 +61,7 @@ Object.defineProperties(PositionProperty.prototype, {
61
61
  * Gets the value of the property at the provided time in the fixed frame.
62
62
  * @function
63
63
  *
64
- * @param {JulianDate} time The time for which to retrieve the value.
64
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
65
65
  * @param {Cartesian3} [result] The object to store the value into, if omitted, a new instance is created and returned.
66
66
  * @returns {Cartesian3 | undefined} The modified result parameter or a new instance if the result parameter was not supplied.
67
67
  */
@@ -3,6 +3,7 @@ import defined from "../Core/defined.js";
3
3
  import DeveloperError from "../Core/DeveloperError.js";
4
4
  import Event from "../Core/Event.js";
5
5
  import EventHelper from "../Core/EventHelper.js";
6
+ import JulianDate from "../Core/JulianDate.js";
6
7
  import ReferenceFrame from "../Core/ReferenceFrame.js";
7
8
  import Property from "./Property.js";
8
9
 
@@ -76,14 +77,19 @@ Object.defineProperties(PositionPropertyArray.prototype, {
76
77
  },
77
78
  });
78
79
 
80
+ const timeScratch = new JulianDate();
81
+
79
82
  /**
80
83
  * Gets the value of the property.
81
84
  *
82
- * @param {JulianDate} time The time for which to retrieve the value.
85
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
83
86
  * @param {Cartesian3[]} [result] The object to store the value into, if omitted, a new instance is created and returned.
84
87
  * @returns {Cartesian3[]} The modified result parameter or a new instance if the result parameter was not supplied.
85
88
  */
86
89
  PositionPropertyArray.prototype.getValue = function (time, result) {
90
+ if (!defined(time)) {
91
+ time = JulianDate.now(timeScratch);
92
+ }
87
93
  return this.getValueInReferenceFrame(time, ReferenceFrame.FIXED, result);
88
94
  };
89
95
 
@@ -52,7 +52,7 @@ Object.defineProperties(Property.prototype, {
52
52
  * Gets the value of the property at the provided time.
53
53
  * @function
54
54
  *
55
- * @param {JulianDate} time The time for which to retrieve the value.
55
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
56
56
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
57
57
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
58
58
  */
@@ -1,7 +1,7 @@
1
1
  import defined from "../Core/defined.js";
2
- import DeveloperError from "../Core/DeveloperError.js";
3
2
  import Event from "../Core/Event.js";
4
3
  import EventHelper from "../Core/EventHelper.js";
4
+ import JulianDate from "../Core/JulianDate.js";
5
5
  import Property from "./Property.js";
6
6
 
7
7
  /**
@@ -60,19 +60,19 @@ Object.defineProperties(PropertyArray.prototype, {
60
60
  },
61
61
  });
62
62
 
63
+ const timeScratch = new JulianDate();
64
+
63
65
  /**
64
66
  * Gets the value of the property.
65
67
  *
66
- * @param {JulianDate} time The time for which to retrieve the value.
68
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
67
69
  * @param {Object[]} [result] The object to store the value into, if omitted, a new instance is created and returned.
68
70
  * @returns {Object[]} The modified result parameter, which is an array of values produced by evaluating each of the contained properties at the given time or a new instance if the result parameter was not supplied.
69
71
  */
70
72
  PropertyArray.prototype.getValue = function (time, result) {
71
- //>>includeStart('debug', pragmas.debug);
72
73
  if (!defined(time)) {
73
- throw new DeveloperError("time is required.");
74
+ time = JulianDate.now(timeScratch);
74
75
  }
75
- //>>includeEnd('debug');
76
76
 
77
77
  const value = this._value;
78
78
  if (!defined(value)) {
@@ -2,6 +2,7 @@ import defaultValue from "../Core/defaultValue.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import DeveloperError from "../Core/DeveloperError.js";
4
4
  import Event from "../Core/Event.js";
5
+ import JulianDate from "../Core/JulianDate.js";
5
6
  import ConstantProperty from "./ConstantProperty.js";
6
7
  import createPropertyDescriptor from "./createPropertyDescriptor.js";
7
8
  import Property from "./Property.js";
@@ -157,21 +158,21 @@ PropertyBag.prototype.removeProperty = function (propertyName) {
157
158
  this._definitionChanged.raiseEvent(this);
158
159
  };
159
160
 
161
+ const timeScratch = new JulianDate();
162
+
160
163
  /**
161
164
  * Gets the value of this property. Each contained property will be evaluated at the given time, and the overall
162
165
  * result will be an object, mapping property names to those values.
163
166
  *
164
- * @param {JulianDate} time The time for which to retrieve the value.
167
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
165
168
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
166
169
  * Note that any properties in result which are not part of this PropertyBag will be left as-is.
167
170
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
168
171
  */
169
172
  PropertyBag.prototype.getValue = function (time, result) {
170
- //>>includeStart('debug', pragmas.debug);
171
173
  if (!defined(time)) {
172
- throw new DeveloperError("time is required.");
174
+ time = JulianDate.now(timeScratch);
173
175
  }
174
- //>>includeEnd('debug');
175
176
 
176
177
  if (!defined(result)) {
177
178
  result = {};
@@ -1,6 +1,7 @@
1
1
  import defined from "../Core/defined.js";
2
2
  import DeveloperError from "../Core/DeveloperError.js";
3
3
  import Event from "../Core/Event.js";
4
+ import JulianDate from "../Core/JulianDate.js";
4
5
  import Property from "./Property.js";
5
6
 
6
7
  function resolve(that) {
@@ -254,15 +255,20 @@ ReferenceProperty.fromString = function (targetCollection, referenceString) {
254
255
  return new ReferenceProperty(targetCollection, identifier, values);
255
256
  };
256
257
 
258
+ const timeScratch = new JulianDate();
259
+
257
260
  /**
258
261
  * Gets the value of the property at the provided time.
259
262
  *
260
- * @param {JulianDate} time The time for which to retrieve the value.
263
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
261
264
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
262
265
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
263
266
  */
264
267
  ReferenceProperty.prototype.getValue = function (time, result) {
265
268
  const target = resolve(this);
269
+ if (!defined(time)) {
270
+ time = JulianDate.now(timeScratch);
271
+ }
266
272
  return defined(target) ? target.getValue(time, result) : undefined;
267
273
  };
268
274
 
@@ -4,6 +4,7 @@ import defaultValue from "../Core/defaultValue.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import DeveloperError from "../Core/DeveloperError.js";
6
6
  import Event from "../Core/Event.js";
7
+ import JulianDate from "../Core/JulianDate.js";
7
8
  import ReferenceFrame from "../Core/ReferenceFrame.js";
8
9
  import PositionProperty from "./PositionProperty.js";
9
10
  import Property from "./Property.js";
@@ -178,14 +179,19 @@ Object.defineProperties(SampledPositionProperty.prototype, {
178
179
  },
179
180
  });
180
181
 
182
+ const timeScratch = new JulianDate();
183
+
181
184
  /**
182
185
  * Gets the position at the provided time.
183
186
  *
184
- * @param {JulianDate} time The time for which to retrieve the value.
187
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
185
188
  * @param {Cartesian3} [result] The object to store the value into, if omitted, a new instance is created and returned.
186
189
  * @returns {Cartesian3 | undefined} The modified result parameter or a new instance if the result parameter was not supplied.
187
190
  */
188
191
  SampledPositionProperty.prototype.getValue = function (time, result) {
192
+ if (!defined(time)) {
193
+ time = JulianDate.now(timeScratch);
194
+ }
189
195
  return this.getValueInReferenceFrame(time, ReferenceFrame.FIXED, result);
190
196
  };
191
197
 
@@ -359,17 +359,19 @@ Object.defineProperties(SampledProperty.prototype, {
359
359
  },
360
360
  });
361
361
 
362
+ const timeScratch = new JulianDate();
363
+
362
364
  /**
363
365
  * Gets the value of the property at the provided time.
364
366
  *
365
- * @param {JulianDate} time The time for which to retrieve the value.
367
+ * @param {JulianDate} [time=JulianDate.now()] The time for which to retrieve the value. If omitted, the current system time is used.
366
368
  * @param {object} [result] The object to store the value into, if omitted, a new instance is created and returned.
367
369
  * @returns {object} The modified result parameter or a new instance if the result parameter was not supplied.
368
370
  */
369
371
  SampledProperty.prototype.getValue = function (time, result) {
370
- //>>includeStart('debug', pragmas.debug);
371
- Check.defined("time", time);
372
- //>>includeEnd('debug');
372
+ if (!defined(time)) {
373
+ time = JulianDate.now(timeScratch);
374
+ }
373
375
 
374
376
  const times = this._times;
375
377
  const timesLength = times.length;