@cesium/engine 11.0.0 → 11.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 (748) hide show
  1. package/Build/Workers/{chunk-SIZXFNJY.js → chunk-26GA3JAM.js} +5 -5
  2. package/Build/Workers/{chunk-QGT2GMOK.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-54VC7SCM.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-2MKRG7L7.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-BZXF3GNX.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-JYUCC5NV.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-6FFGOENI.js → chunk-5PTXS2GO.js} +46 -23
  9. package/Build/Workers/{chunk-T4MB73MC.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-IXLNNST6.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-6PJIHPQB.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-HFMJM3SX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-SRZJCF7G.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-OC4MYPVW.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-HO2NTC7I.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-IBG5FVXC.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-FJT3ERV7.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-4NBRIKB3.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-KKAEXHDY.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-2RZYNSMR.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-2EDC3QGH.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-AI3O7UN2.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-RJF5ZP76.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-OOA6GXKD.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-HBZSCVZC.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-AUM45VEG.js → chunk-GGZJN2TI.js} +15 -15
  29. package/Build/Workers/{chunk-5IY5BXCT.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-6ZREIBKS.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-BUOFSNFW.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-AS7P4BHI.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-L6FARMF6.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-VSFFJGTA.js → chunk-K4GQUNB5.js} +5 -5
  35. package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-HFPMX5L2.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-RFQYEYAL.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-WXDGOYTT.js → chunk-NGPPMXRM.js} +7 -7
  39. package/Build/Workers/{chunk-N3BIL6WA.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-DVAIU7A4.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-O5SSW3B3.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-XLCZE6DD.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-BBO6BGLC.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-KFW4UNQH.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-HZPMWR4H.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-OSCHEWSG.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-DJXXI7UF.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-GOHDOWU5.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  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 +25 -26
  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 +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  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 +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +22 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  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 +5 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +7 -7
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +2 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +2 -2
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +6 -6
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  284. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  285. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  286. package/Source/DataSources/ColorMaterialProperty.js +1 -1
  287. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  288. package/Source/DataSources/CompositeMaterialProperty.js +5 -7
  289. package/Source/DataSources/CompositePositionProperty.js +4 -5
  290. package/Source/DataSources/CompositeProperty.js +2 -2
  291. package/Source/DataSources/ConstantPositionProperty.js +2 -2
  292. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  293. package/Source/DataSources/CorridorGraphics.js +6 -6
  294. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  295. package/Source/DataSources/CylinderGraphics.js +4 -4
  296. package/Source/DataSources/CzmlDataSource.js +365 -368
  297. package/Source/DataSources/DataSourceCollection.js +1 -1
  298. package/Source/DataSources/DataSourceDisplay.js +23 -23
  299. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  300. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  301. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  302. package/Source/DataSources/EllipseGraphics.js +7 -7
  303. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  304. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  305. package/Source/DataSources/Entity.js +13 -13
  306. package/Source/DataSources/EntityCluster.js +29 -27
  307. package/Source/DataSources/EntityCollection.js +7 -7
  308. package/Source/DataSources/EntityView.js +23 -23
  309. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  310. package/Source/DataSources/GeometryUpdater.js +9 -10
  311. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  312. package/Source/DataSources/GeometryVisualizer.js +65 -71
  313. package/Source/DataSources/GpxDataSource.js +10 -10
  314. package/Source/DataSources/GridMaterialProperty.js +5 -5
  315. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  316. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  317. package/Source/DataSources/KmlDataSource.js +212 -212
  318. package/Source/DataSources/LabelGraphics.js +14 -14
  319. package/Source/DataSources/LabelVisualizer.js +24 -24
  320. package/Source/DataSources/ModelGraphics.js +37 -17
  321. package/Source/DataSources/ModelVisualizer.js +41 -32
  322. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  323. package/Source/DataSources/PathGraphics.js +2 -2
  324. package/Source/DataSources/PathVisualizer.js +99 -35
  325. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  326. package/Source/DataSources/PlaneGraphics.js +2 -2
  327. package/Source/DataSources/PointGraphics.js +8 -8
  328. package/Source/DataSources/PointVisualizer.js +29 -29
  329. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  330. package/Source/DataSources/PolygonGraphics.js +9 -9
  331. package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
  332. package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
  333. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  334. package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
  335. package/Source/DataSources/PolylineGraphics.js +4 -4
  336. package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
  337. package/Source/DataSources/PolylineVisualizer.js +39 -43
  338. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  339. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  340. package/Source/DataSources/PositionProperty.js +4 -3
  341. package/Source/DataSources/PositionPropertyArray.js +3 -3
  342. package/Source/DataSources/Property.js +1 -1
  343. package/Source/DataSources/PropertyArray.js +1 -1
  344. package/Source/DataSources/PropertyBag.js +5 -5
  345. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  346. package/Source/DataSources/RectangleGraphics.js +6 -6
  347. package/Source/DataSources/ReferenceProperty.js +6 -6
  348. package/Source/DataSources/Rotation.js +2 -2
  349. package/Source/DataSources/SampledPositionProperty.js +6 -6
  350. package/Source/DataSources/SampledProperty.js +16 -16
  351. package/Source/DataSources/ScaledPositionProperty.js +2 -2
  352. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  353. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  354. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  355. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  356. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  357. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  358. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  359. package/Source/DataSources/TerrainOffsetProperty.js +11 -11
  360. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
  361. package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
  362. package/Source/DataSources/VelocityOrientationProperty.js +3 -3
  363. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  364. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  365. package/Source/DataSources/WallGraphics.js +4 -4
  366. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  367. package/Source/DataSources/exportKml.js +90 -86
  368. package/Source/DataSources/getElement.js +1 -1
  369. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  370. package/Source/Renderer/AutomaticUniforms.js +1 -1
  371. package/Source/Renderer/Buffer.js +18 -18
  372. package/Source/Renderer/ClearCommand.js +1 -1
  373. package/Source/Renderer/ComputeEngine.js +1 -1
  374. package/Source/Renderer/Context.js +40 -40
  375. package/Source/Renderer/CubeMap.js +20 -20
  376. package/Source/Renderer/CubeMapFace.js +19 -19
  377. package/Source/Renderer/DrawCommand.js +50 -5
  378. package/Source/Renderer/Framebuffer.js +48 -49
  379. package/Source/Renderer/FramebufferManager.js +40 -34
  380. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  381. package/Source/Renderer/RenderState.js +36 -36
  382. package/Source/Renderer/Renderbuffer.js +3 -3
  383. package/Source/Renderer/Sampler.js +2 -2
  384. package/Source/Renderer/ShaderBuilder.js +8 -8
  385. package/Source/Renderer/ShaderCache.js +11 -15
  386. package/Source/Renderer/ShaderFunction.js +1 -1
  387. package/Source/Renderer/ShaderProgram.js +15 -15
  388. package/Source/Renderer/ShaderSource.js +40 -40
  389. package/Source/Renderer/Texture.js +74 -63
  390. package/Source/Renderer/UniformState.js +65 -58
  391. package/Source/Renderer/VertexArray.js +20 -20
  392. package/Source/Renderer/VertexArrayFacade.js +15 -16
  393. package/Source/Renderer/createUniform.js +1 -1
  394. package/Source/Renderer/createUniformArray.js +4 -4
  395. package/Source/Renderer/demodernizeShader.js +5 -5
  396. package/Source/Renderer/loadCubeMap.js +1 -1
  397. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  398. package/Source/Scene/ArcGisMapService.js +4 -7
  399. package/Source/Scene/AutoExposure.js +4 -5
  400. package/Source/Scene/Axis.js +6 -6
  401. package/Source/Scene/B3dmParser.js +9 -9
  402. package/Source/Scene/BatchTable.js +7 -7
  403. package/Source/Scene/BatchTableHierarchy.js +62 -59
  404. package/Source/Scene/BatchTexture.js +2 -2
  405. package/Source/Scene/Billboard.js +45 -43
  406. package/Source/Scene/BillboardCollection.js +81 -83
  407. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  408. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  409. package/Source/Scene/BoxEmitter.js +1 -1
  410. package/Source/Scene/BufferLoader.js +1 -1
  411. package/Source/Scene/Camera.js +161 -164
  412. package/Source/Scene/CameraEventAggregator.js +18 -18
  413. package/Source/Scene/CameraFlightPath.js +25 -25
  414. package/Source/Scene/Cesium3DTile.js +89 -95
  415. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  416. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  417. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  418. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  419. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  420. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  421. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  422. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  423. package/Source/Scene/Cesium3DTileset.js +81 -83
  424. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  425. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  426. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  427. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  428. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  430. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  431. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  432. package/Source/Scene/ClassificationPrimitive.js +70 -69
  433. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  434. package/Source/Scene/ClippingPolygon.js +8 -8
  435. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  436. package/Source/Scene/CloudCollection.js +3 -10
  437. package/Source/Scene/Composite3DTileContent.js +6 -6
  438. package/Source/Scene/ConditionsExpression.js +5 -5
  439. package/Source/Scene/ContentMetadata.js +4 -4
  440. package/Source/Scene/CreditDisplay.js +8 -8
  441. package/Source/Scene/CumulusCloud.js +4 -4
  442. package/Source/Scene/DebugAppearance.js +2 -2
  443. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  444. package/Source/Scene/DebugInspector.js +3 -3
  445. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  446. package/Source/Scene/DepthPlane.js +7 -7
  447. package/Source/Scene/DerivedCommand.js +422 -238
  448. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  449. package/Source/Scene/DracoLoader.js +3 -3
  450. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  451. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  452. package/Source/Scene/Empty3DTileContent.js +1 -1
  453. package/Source/Scene/Expression.js +91 -91
  454. package/Source/Scene/Fog.js +8 -41
  455. package/Source/Scene/FrameRateMonitor.js +22 -22
  456. package/Source/Scene/FrameState.js +31 -0
  457. package/Source/Scene/Geometry3DTileContent.js +20 -20
  458. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  459. package/Source/Scene/Globe.js +32 -27
  460. package/Source/Scene/GlobeDepth.js +95 -66
  461. package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
  462. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  463. package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
  464. package/Source/Scene/GlobeTranslucency.js +4 -4
  465. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  466. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  467. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  468. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  469. package/Source/Scene/GltfJsonLoader.js +2 -2
  470. package/Source/Scene/GltfLoader.js +177 -100
  471. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  472. package/Source/Scene/GltfTextureLoader.js +5 -5
  473. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  474. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  475. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  476. package/Source/Scene/GridImageryProvider.js +2 -2
  477. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  478. package/Source/Scene/GroundPrimitive.js +47 -45
  479. package/Source/Scene/GroupMetadata.js +4 -4
  480. package/Source/Scene/I3SDataProvider.js +12 -12
  481. package/Source/Scene/I3SDecoder.js +7 -8
  482. package/Source/Scene/I3SField.js +8 -8
  483. package/Source/Scene/I3SGeometry.js +14 -14
  484. package/Source/Scene/I3SLayer.js +26 -20
  485. package/Source/Scene/I3SNode.js +17 -17
  486. package/Source/Scene/I3SSublayer.js +4 -4
  487. package/Source/Scene/I3SSymbology.js +8 -8
  488. package/Source/Scene/I3dmParser.js +9 -9
  489. package/Source/Scene/ImageBasedLighting.js +25 -23
  490. package/Source/Scene/Imagery.js +3 -3
  491. package/Source/Scene/ImageryLayer.js +64 -66
  492. package/Source/Scene/ImageryLayerCollection.js +13 -15
  493. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  494. package/Source/Scene/ImageryProvider.js +1 -1
  495. package/Source/Scene/Implicit3DTileContent.js +34 -37
  496. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  497. package/Source/Scene/ImplicitMetadataView.js +2 -2
  498. package/Source/Scene/ImplicitSubtree.js +29 -30
  499. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  500. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  501. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  502. package/Source/Scene/ImplicitTileset.js +2 -2
  503. package/Source/Scene/InvertClassification.js +7 -7
  504. package/Source/Scene/IonImageryProvider.js +6 -6
  505. package/Source/Scene/JobScheduler.js +4 -4
  506. package/Source/Scene/Label.js +29 -29
  507. package/Source/Scene/LabelCollection.js +17 -15
  508. package/Source/Scene/MapboxImageryProvider.js +3 -3
  509. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  510. package/Source/Scene/Material.js +26 -27
  511. package/Source/Scene/MaterialAppearance.js +4 -4
  512. package/Source/Scene/Megatexture.js +21 -24
  513. package/Source/Scene/MetadataClassProperty.js +11 -11
  514. package/Source/Scene/MetadataComponentType.js +1 -1
  515. package/Source/Scene/MetadataEntity.js +8 -8
  516. package/Source/Scene/MetadataEnum.js +1 -1
  517. package/Source/Scene/MetadataPicking.js +305 -0
  518. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  519. package/Source/Scene/MetadataTable.js +2 -2
  520. package/Source/Scene/MetadataTableProperty.js +22 -22
  521. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  522. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  523. package/Source/Scene/Model/B3dmLoader.js +8 -8
  524. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  525. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  526. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  527. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  528. package/Source/Scene/Model/CustomShader.js +9 -9
  529. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  530. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  532. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  533. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  534. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  535. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  536. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  537. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  538. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  539. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  540. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  541. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  542. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  543. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  544. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  545. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  546. package/Source/Scene/Model/I3dmLoader.js +36 -36
  547. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +15 -15
  548. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  549. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  550. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  551. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  552. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  553. package/Source/Scene/Model/Model.js +134 -54
  554. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  555. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  556. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  557. package/Source/Scene/Model/ModelArticulation.js +2 -2
  558. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  559. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  560. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  561. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  562. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  563. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  564. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  565. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  566. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  567. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  568. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  569. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  570. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  571. package/Source/Scene/Model/ModelSkin.js +4 -4
  572. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  573. package/Source/Scene/Model/ModelUtility.js +5 -5
  574. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  575. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  576. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  577. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  578. package/Source/Scene/Model/PntsLoader.js +7 -7
  579. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  580. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  581. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  582. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  583. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  584. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  585. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  586. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  587. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  588. package/Source/Scene/Model/TextureManager.js +2 -2
  589. package/Source/Scene/Model/TextureUniform.js +3 -3
  590. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  591. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  592. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  593. package/Source/Scene/Model/pickModel.js +26 -26
  594. package/Source/Scene/ModelComponents.js +13 -4
  595. package/Source/Scene/Moon.js +6 -5
  596. package/Source/Scene/Multiple3DTileContent.js +15 -14
  597. package/Source/Scene/OIT.js +48 -97
  598. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  599. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  600. package/Source/Scene/Particle.js +3 -3
  601. package/Source/Scene/ParticleEmitter.js +1 -1
  602. package/Source/Scene/ParticleSystem.js +32 -32
  603. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  604. package/Source/Scene/PickDepth.js +16 -4
  605. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  606. package/Source/Scene/PickFramebuffer.js +24 -12
  607. package/Source/Scene/PickedMetadataInfo.js +39 -0
  608. package/Source/Scene/Picking.js +270 -120
  609. package/Source/Scene/PntsParser.js +28 -28
  610. package/Source/Scene/PointCloud.js +39 -38
  611. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  612. package/Source/Scene/PointCloudShading.js +3 -3
  613. package/Source/Scene/PointPrimitive.js +31 -28
  614. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  615. package/Source/Scene/Polyline.js +9 -9
  616. package/Source/Scene/PolylineCollection.js +55 -57
  617. package/Source/Scene/PolylineColorAppearance.js +3 -3
  618. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  619. package/Source/Scene/PostProcessStage.js +95 -115
  620. package/Source/Scene/PostProcessStageCollection.js +35 -41
  621. package/Source/Scene/PostProcessStageComposite.js +2 -2
  622. package/Source/Scene/PostProcessStageLibrary.js +5 -5
  623. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  624. package/Source/Scene/Primitive.js +93 -93
  625. package/Source/Scene/PrimitiveCollection.js +1 -1
  626. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  627. package/Source/Scene/PrimitivePipeline.js +30 -30
  628. package/Source/Scene/PropertyTable.js +5 -5
  629. package/Source/Scene/PropertyTextureProperty.js +36 -7
  630. package/Source/Scene/QuadtreePrimitive.js +56 -58
  631. package/Source/Scene/QuadtreeTile.js +4 -4
  632. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  633. package/Source/Scene/ResourceCache.js +7 -7
  634. package/Source/Scene/ResourceCacheKey.js +15 -15
  635. package/Source/Scene/Scene.js +879 -657
  636. package/Source/Scene/SceneFramebuffer.js +2 -2
  637. package/Source/Scene/SceneTransforms.js +30 -30
  638. package/Source/Scene/SceneTransitioner.js +47 -47
  639. package/Source/Scene/ScreenSpaceCameraController.js +160 -153
  640. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  641. package/Source/Scene/ShadowMap.js +71 -72
  642. package/Source/Scene/ShadowMapShader.js +9 -9
  643. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  644. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  645. package/Source/Scene/SkyAtmosphere.js +8 -8
  646. package/Source/Scene/SkyBox.js +7 -8
  647. package/Source/Scene/SpatialNode.js +13 -13
  648. package/Source/Scene/SphereEmitter.js +1 -1
  649. package/Source/Scene/StructuralMetadata.js +1 -1
  650. package/Source/Scene/StyleExpression.js +1 -1
  651. package/Source/Scene/Sun.js +11 -7
  652. package/Source/Scene/SunPostProcess.js +6 -6
  653. package/Source/Scene/TerrainFillMesh.js +157 -156
  654. package/Source/Scene/TextureAtlas.js +11 -11
  655. package/Source/Scene/TileBoundingRegion.js +31 -31
  656. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  657. package/Source/Scene/TileBoundingSphere.js +2 -2
  658. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  659. package/Source/Scene/TileImagery.js +7 -11
  660. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  661. package/Source/Scene/TileMetadata.js +4 -4
  662. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  663. package/Source/Scene/Tileset3DTileContent.js +1 -1
  664. package/Source/Scene/TilesetMetadata.js +4 -4
  665. package/Source/Scene/TimeDynamicImagery.js +3 -3
  666. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  667. package/Source/Scene/TranslucentTileClassification.js +48 -58
  668. package/Source/Scene/TweenCollection.js +9 -9
  669. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  670. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  671. package/Source/Scene/Vector3DTileContent.js +38 -39
  672. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  673. package/Source/Scene/Vector3DTilePoints.js +18 -22
  674. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  675. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  676. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  677. package/Source/Scene/View.js +111 -80
  678. package/Source/Scene/VoxelBoxShape.js +34 -34
  679. package/Source/Scene/VoxelCell.js +7 -7
  680. package/Source/Scene/VoxelContent.js +1 -1
  681. package/Source/Scene/VoxelCylinderShape.js +48 -48
  682. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  683. package/Source/Scene/VoxelPrimitive.js +80 -80
  684. package/Source/Scene/VoxelRenderResources.js +13 -13
  685. package/Source/Scene/VoxelTraversal.js +41 -41
  686. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  687. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  688. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  689. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  690. package/Source/Scene/createBillboardPointCallback.js +2 -2
  691. package/Source/Scene/createElevationBandMaterial.js +8 -8
  692. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  693. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  694. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  695. package/Source/Scene/findContentMetadata.js +2 -2
  696. package/Source/Scene/findTileMetadata.js +2 -2
  697. package/Source/Scene/getBinaryAccessor.js +1 -1
  698. package/Source/Scene/getClipAndStyleCode.js +1 -1
  699. package/Source/Scene/getClippingFunction.js +1 -1
  700. package/Source/Scene/getMetadataClassProperty.js +43 -0
  701. package/Source/Scene/parseBatchTable.js +21 -24
  702. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  703. package/Source/Scene/parseStructuralMetadata.js +3 -3
  704. package/Source/Scene/processVoxelProperties.js +28 -33
  705. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  706. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  707. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  708. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  709. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  710. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  711. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  713. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  714. package/Source/Shaders/DepthPlaneVS.js +1 -1
  715. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  716. package/Source/Shaders/Model/ModelFS.js +26 -0
  717. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  718. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  719. package/Source/Widget/CesiumWidget.js +9 -8
  720. package/Source/Workers/combineGeometry.js +3 -4
  721. package/Source/Workers/createCircleGeometry.js +2 -2
  722. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  723. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  724. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  725. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  726. package/Source/Workers/createGeometry.js +4 -5
  727. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  728. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  729. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  730. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  731. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  732. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  733. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  734. package/Source/Workers/createVectorTileGeometries.js +18 -18
  735. package/Source/Workers/createVectorTilePoints.js +3 -3
  736. package/Source/Workers/createVectorTilePolygons.js +11 -11
  737. package/Source/Workers/createVectorTilePolylines.js +7 -7
  738. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  739. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  740. package/Source/Workers/decodeDraco.js +23 -23
  741. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  742. package/Source/Workers/decodeI3S.js +53 -53
  743. package/Source/Workers/transcodeKTX2.js +9 -9
  744. package/Source/Workers/transferTypedArrayTest.js +1 -1
  745. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  746. package/index.d.ts +503 -35
  747. package/index.js +76 -59
  748. package/package.json +2 -2
@@ -174,7 +174,7 @@ ModelAnimationCollection.prototype.add = function (options) {
174
174
  //>>includeStart('debug', pragmas.debug);
175
175
  if (!model.ready) {
176
176
  throw new DeveloperError(
177
- "Animations are not loaded. Wait for Model.ready to be true."
177
+ "Animations are not loaded. Wait for Model.ready to be true.",
178
178
  );
179
179
  }
180
180
  //>>includeEnd('debug');
@@ -184,7 +184,7 @@ ModelAnimationCollection.prototype.add = function (options) {
184
184
  //>>includeStart('debug', pragmas.debug);
185
185
  if (!defined(options.name) && !defined(options.index)) {
186
186
  throw new DeveloperError(
187
- "Either options.name or options.index must be defined."
187
+ "Either options.name or options.index must be defined.",
188
188
  );
189
189
  }
190
190
 
@@ -258,7 +258,7 @@ ModelAnimationCollection.prototype.addAll = function (options) {
258
258
  //>>includeStart('debug', pragmas.debug);
259
259
  if (!model.ready) {
260
260
  throw new DeveloperError(
261
- "Animations are not loaded. Wait for Model.ready to be true."
261
+ "Animations are not loaded. Wait for Model.ready to be true.",
262
262
  );
263
263
  }
264
264
 
@@ -371,7 +371,7 @@ ModelAnimationCollection.prototype.get = function (index) {
371
371
 
372
372
  if (index >= this._runtimeAnimations.length || index < 0) {
373
373
  throw new DeveloperError(
374
- "index must be valid within the range of the collection"
374
+ "index must be valid within the range of the collection",
375
375
  );
376
376
  }
377
377
  //>>includeEnd('debug');
@@ -384,7 +384,7 @@ const animationsToRemove = [];
384
384
  function createAnimationRemovedFunction(
385
385
  modelAnimationCollection,
386
386
  model,
387
- animation
387
+ animation,
388
388
  ) {
389
389
  return function () {
390
390
  modelAnimationCollection.animationRemoved.raiseEvent(model, animation);
@@ -428,7 +428,7 @@ ModelAnimationCollection.prototype.update = function (frameState) {
428
428
  runtimeAnimation._computedStartTime = JulianDate.addSeconds(
429
429
  defaultValue(runtimeAnimation.startTime, sceneTime),
430
430
  runtimeAnimation.delay,
431
- new JulianDate()
431
+ new JulianDate(),
432
432
  );
433
433
  }
434
434
 
@@ -450,7 +450,7 @@ ModelAnimationCollection.prototype.update = function (frameState) {
450
450
  if (duration !== 0.0) {
451
451
  const seconds = JulianDate.secondsDifference(
452
452
  reachedStopTime ? stopTime : sceneTime,
453
- startTime
453
+ startTime,
454
454
  );
455
455
  delta = defined(runtimeAnimation._animationTime)
456
456
  ? runtimeAnimation._animationTime(duration, seconds)
@@ -511,7 +511,7 @@ ModelAnimationCollection.prototype.update = function (frameState) {
511
511
  localAnimationTime = CesiumMath.clamp(
512
512
  localAnimationTime,
513
513
  runtimeAnimation.localStartTime,
514
- runtimeAnimation.localStopTime
514
+ runtimeAnimation.localStopTime,
515
515
  );
516
516
 
517
517
  runtimeAnimation.animate(localAnimationTime);
@@ -542,7 +542,7 @@ ModelAnimationCollection.prototype.update = function (frameState) {
542
542
  const animationToRemove = animationsToRemove[j];
543
543
  runtimeAnimations.splice(runtimeAnimations.indexOf(animationToRemove), 1);
544
544
  frameState.afterRender.push(
545
- createAnimationRemovedFunction(this, model, animationToRemove)
545
+ createAnimationRemovedFunction(this, model, animationToRemove),
546
546
  );
547
547
  }
548
548
  animationsToRemove.length = 0;
@@ -184,7 +184,7 @@ ModelArticulation.prototype.apply = function () {
184
184
 
185
185
  let articulationMatrix = Matrix4.clone(
186
186
  Matrix4.IDENTITY,
187
- scratchArticulationMatrix
187
+ scratchArticulationMatrix,
188
188
  );
189
189
 
190
190
  let i;
@@ -205,7 +205,7 @@ ModelArticulation.prototype.apply = function () {
205
205
  const transform = Matrix4.multiplyTransformation(
206
206
  node.originalTransform,
207
207
  articulationMatrix,
208
- scratchNodeMatrix
208
+ scratchNodeMatrix,
209
209
  );
210
210
  node.transform = transform;
211
211
  }
@@ -155,7 +155,7 @@ Object.defineProperties(ModelArticulationStage.prototype, {
155
155
  !CesiumMath.equalsEpsilon(
156
156
  this._currentValue,
157
157
  value,
158
- articulationEpsilon
158
+ articulationEpsilon,
159
159
  )
160
160
  ) {
161
161
  this._currentValue = value;
@@ -194,21 +194,21 @@ ModelArticulationStage.prototype.applyStageToMatrix = function (result) {
194
194
  case ArticulationStageType.XROTATE:
195
195
  rotation = Matrix3.fromRotationX(
196
196
  CesiumMath.toRadians(value),
197
- scratchArticulationRotation
197
+ scratchArticulationRotation,
198
198
  );
199
199
  result = Matrix4.multiplyByMatrix3(result, rotation, result);
200
200
  break;
201
201
  case ArticulationStageType.YROTATE:
202
202
  rotation = Matrix3.fromRotationY(
203
203
  CesiumMath.toRadians(value),
204
- scratchArticulationRotation
204
+ scratchArticulationRotation,
205
205
  );
206
206
  result = Matrix4.multiplyByMatrix3(result, rotation, result);
207
207
  break;
208
208
  case ArticulationStageType.ZROTATE:
209
209
  rotation = Matrix3.fromRotationZ(
210
210
  CesiumMath.toRadians(value),
211
- scratchArticulationRotation
211
+ scratchArticulationRotation,
212
212
  );
213
213
  result = Matrix4.multiplyByMatrix3(result, rotation, result);
214
214
  break;
@@ -36,7 +36,7 @@ const textureResolutionScratch = new Cartesian2();
36
36
  ModelClippingPlanesPipelineStage.process = function (
37
37
  renderResources,
38
38
  model,
39
- frameState
39
+ frameState,
40
40
  ) {
41
41
  const clippingPlanes = model.clippingPlanes;
42
42
  const context = frameState.context;
@@ -45,20 +45,20 @@ ModelClippingPlanesPipelineStage.process = function (
45
45
  shaderBuilder.addDefine(
46
46
  "HAS_CLIPPING_PLANES",
47
47
  undefined,
48
- ShaderDestination.FRAGMENT
48
+ ShaderDestination.FRAGMENT,
49
49
  );
50
50
 
51
51
  shaderBuilder.addDefine(
52
52
  "CLIPPING_PLANES_LENGTH",
53
53
  clippingPlanes.length,
54
- ShaderDestination.FRAGMENT
54
+ ShaderDestination.FRAGMENT,
55
55
  );
56
56
 
57
57
  if (clippingPlanes.unionClippingRegions) {
58
58
  shaderBuilder.addDefine(
59
59
  "UNION_CLIPPING_REGIONS",
60
60
  undefined,
61
- ShaderDestination.FRAGMENT
61
+ ShaderDestination.FRAGMENT,
62
62
  );
63
63
  }
64
64
 
@@ -66,42 +66,42 @@ ModelClippingPlanesPipelineStage.process = function (
66
66
  shaderBuilder.addDefine(
67
67
  "USE_CLIPPING_PLANES_FLOAT_TEXTURE",
68
68
  undefined,
69
- ShaderDestination.FRAGMENT
69
+ ShaderDestination.FRAGMENT,
70
70
  );
71
71
  }
72
72
 
73
73
  const textureResolution = ClippingPlaneCollection.getTextureResolution(
74
74
  clippingPlanes,
75
75
  context,
76
- textureResolutionScratch
76
+ textureResolutionScratch,
77
77
  );
78
78
 
79
79
  shaderBuilder.addDefine(
80
80
  "CLIPPING_PLANES_TEXTURE_WIDTH",
81
81
  textureResolution.x,
82
- ShaderDestination.FRAGMENT
82
+ ShaderDestination.FRAGMENT,
83
83
  );
84
84
 
85
85
  shaderBuilder.addDefine(
86
86
  "CLIPPING_PLANES_TEXTURE_HEIGHT",
87
87
  textureResolution.y,
88
- ShaderDestination.FRAGMENT
88
+ ShaderDestination.FRAGMENT,
89
89
  );
90
90
 
91
91
  shaderBuilder.addUniform(
92
92
  "sampler2D",
93
93
  "model_clippingPlanes",
94
- ShaderDestination.FRAGMENT
94
+ ShaderDestination.FRAGMENT,
95
95
  );
96
96
  shaderBuilder.addUniform(
97
97
  "vec4",
98
98
  "model_clippingPlanesEdgeStyle",
99
- ShaderDestination.FRAGMENT
99
+ ShaderDestination.FRAGMENT,
100
100
  );
101
101
  shaderBuilder.addUniform(
102
102
  "mat4",
103
103
  "model_clippingPlanesMatrix",
104
- ShaderDestination.FRAGMENT
104
+ ShaderDestination.FRAGMENT,
105
105
  );
106
106
 
107
107
  shaderBuilder.addFragmentLines(ModelClippingPlanesStageFS);
@@ -35,7 +35,7 @@ const ModelClippingPolygonsPipelineStage = {
35
35
  ModelClippingPolygonsPipelineStage.process = function (
36
36
  renderResources,
37
37
  model,
38
- frameState
38
+ frameState,
39
39
  ) {
40
40
  const clippingPolygons = model.clippingPolygons;
41
41
  const shaderBuilder = renderResources.shaderBuilder;
@@ -43,33 +43,33 @@ ModelClippingPolygonsPipelineStage.process = function (
43
43
  shaderBuilder.addDefine(
44
44
  "ENABLE_CLIPPING_POLYGONS",
45
45
  undefined,
46
- ShaderDestination.BOTH
46
+ ShaderDestination.BOTH,
47
47
  );
48
48
 
49
49
  if (clippingPolygons.inverse) {
50
50
  shaderBuilder.addDefine(
51
51
  "CLIPPING_INVERSE",
52
52
  undefined,
53
- ShaderDestination.FRAGMENT
53
+ ShaderDestination.FRAGMENT,
54
54
  );
55
55
  }
56
56
 
57
57
  shaderBuilder.addDefine(
58
58
  "CLIPPING_POLYGON_REGIONS_LENGTH",
59
59
  clippingPolygons.extentsCount,
60
- ShaderDestination.BOTH
60
+ ShaderDestination.BOTH,
61
61
  );
62
62
 
63
63
  shaderBuilder.addUniform(
64
64
  "sampler2D",
65
65
  "model_clippingDistance",
66
- ShaderDestination.FRAGMENT
66
+ ShaderDestination.FRAGMENT,
67
67
  );
68
68
 
69
69
  shaderBuilder.addUniform(
70
70
  "sampler2D",
71
71
  "model_clippingExtents",
72
- ShaderDestination.VERTEX
72
+ ShaderDestination.VERTEX,
73
73
  );
74
74
 
75
75
  shaderBuilder.addVarying("vec2", "v_clippingPosition");
@@ -37,14 +37,14 @@ const ModelColorPipelineStage = {
37
37
  ModelColorPipelineStage.process = function (
38
38
  renderResources,
39
39
  model,
40
- frameState
40
+ frameState,
41
41
  ) {
42
42
  const shaderBuilder = renderResources.shaderBuilder;
43
43
 
44
44
  shaderBuilder.addDefine(
45
45
  "HAS_MODEL_COLOR",
46
46
  undefined,
47
- ShaderDestination.FRAGMENT
47
+ ShaderDestination.FRAGMENT,
48
48
  );
49
49
  shaderBuilder.addFragmentLines(ModelColorStageFS);
50
50
 
@@ -69,7 +69,7 @@ ModelColorPipelineStage.process = function (
69
69
  shaderBuilder.addUniform(
70
70
  "vec4",
71
71
  ModelColorPipelineStage.COLOR_UNIFORM_NAME,
72
- ShaderDestination.FRAGMENT
72
+ ShaderDestination.FRAGMENT,
73
73
  );
74
74
  stageUniforms[ModelColorPipelineStage.COLOR_UNIFORM_NAME] = function () {
75
75
  return model.color;
@@ -79,20 +79,19 @@ ModelColorPipelineStage.process = function (
79
79
  shaderBuilder.addUniform(
80
80
  "float",
81
81
  ModelColorPipelineStage.COLOR_BLEND_UNIFORM_NAME,
82
- ShaderDestination.FRAGMENT
82
+ ShaderDestination.FRAGMENT,
83
83
  );
84
- stageUniforms[
85
- ModelColorPipelineStage.COLOR_BLEND_UNIFORM_NAME
86
- ] = function () {
87
- return ColorBlendMode.getColorBlend(
88
- model.colorBlendMode,
89
- model.colorBlendAmount
90
- );
91
- };
84
+ stageUniforms[ModelColorPipelineStage.COLOR_BLEND_UNIFORM_NAME] =
85
+ function () {
86
+ return ColorBlendMode.getColorBlend(
87
+ model.colorBlendMode,
88
+ model.colorBlendAmount,
89
+ );
90
+ };
92
91
 
93
92
  renderResources.uniformMap = combine(
94
93
  stageUniforms,
95
- renderResources.uniformMap
94
+ renderResources.uniformMap,
96
95
  );
97
96
  };
98
97
 
@@ -299,7 +299,7 @@ Object.defineProperties(ModelDrawCommand.prototype, {
299
299
  this._boundingVolume = BoundingSphere.transform(
300
300
  this.runtimePrimitive.boundingSphere,
301
301
  this._modelMatrix,
302
- this._boundingVolume
302
+ this._boundingVolume,
303
303
  );
304
304
  },
305
305
  },
@@ -413,7 +413,7 @@ function updateModelMatrix2D(drawCommand, frameState) {
413
413
  const modelMatrix = drawCommand._modelMatrix;
414
414
  drawCommand._modelMatrix2D = Matrix4.clone(
415
415
  modelMatrix,
416
- drawCommand._modelMatrix2D
416
+ drawCommand._modelMatrix2D,
417
417
  );
418
418
 
419
419
  // Change the translation's y-component so it appears on the opposite side
@@ -427,7 +427,7 @@ function updateModelMatrix2D(drawCommand, frameState) {
427
427
  drawCommand._boundingVolume2D = BoundingSphere.transform(
428
428
  drawCommand.runtimePrimitive.boundingSphere,
429
429
  drawCommand._modelMatrix2D,
430
- drawCommand._boundingVolume2D
430
+ drawCommand._boundingVolume2D,
431
431
  );
432
432
  }
433
433
 
@@ -537,7 +537,7 @@ ModelDrawCommand.prototype.pushCommands = function (frameState, result) {
537
537
  pushCommand(
538
538
  tileset._backfaceCommands,
539
539
  this._skipLodBackfaceCommand,
540
- use2D
540
+ use2D,
541
541
  );
542
542
  }
543
543
 
@@ -578,7 +578,7 @@ ModelDrawCommand.prototype.pushCommands = function (frameState, result) {
578
578
  */
579
579
  ModelDrawCommand.prototype.pushSilhouetteCommands = function (
580
580
  frameState,
581
- result
581
+ result,
582
582
  ) {
583
583
  const use2D = shouldUse2DCommands(this, frameState);
584
584
  pushCommand(result, this._silhouetteColorCommand, use2D);
@@ -1,18 +1,28 @@
1
1
  import BoundingSphere from "../../Core/BoundingSphere.js";
2
2
  import clone from "../../Core/clone.js";
3
3
  import defined from "../../Core/defined.js";
4
- import DeveloperError from "../../Core/DeveloperError.js";
5
4
  import Matrix4 from "../../Core/Matrix4.js";
6
5
  import DrawCommand from "../../Renderer/DrawCommand.js";
7
6
  import RenderState from "../../Renderer/RenderState.js";
8
- import VertexArray from "../../Renderer/VertexArray.js";
9
- import ModelFS from "../../Shaders/Model/ModelFS.js";
10
- import ModelVS from "../../Shaders/Model/ModelVS.js";
11
7
  import SceneMode from "../SceneMode.js";
12
8
  import ShadowMode from "../ShadowMode.js";
13
9
  import ClassificationModelDrawCommand from "./ClassificationModelDrawCommand.js";
14
- import ModelUtility from "./ModelUtility.js";
15
10
  import ModelDrawCommand from "./ModelDrawCommand.js";
11
+ import VertexArray from "../../Renderer/VertexArray.js";
12
+ import ModelVS from "../../Shaders/Model/ModelVS.js";
13
+ import ModelFS from "../../Shaders/Model/ModelFS.js";
14
+ import ModelUtility from "./ModelUtility.js";
15
+ import DeveloperError from "../../Core/DeveloperError.js";
16
+
17
+ /**
18
+ * Internal functions to build draw commands for models.
19
+ *
20
+ * (The core of these functions was taken from `buildDrawCommand.js´,
21
+ * as of commit hash 7b93161da1cc03bdc796b204e7aa51fb7acebf04)
22
+ *
23
+ * @private
24
+ */
25
+ function ModelDrawCommands() {}
16
26
 
17
27
  /**
18
28
  * Builds the {@link ModelDrawCommand} for a {@link ModelRuntimePrimitive}
@@ -21,16 +31,77 @@ import ModelDrawCommand from "./ModelDrawCommand.js";
21
31
  *
22
32
  * @param {PrimitiveRenderResources} primitiveRenderResources The render resources for a primitive.
23
33
  * @param {FrameState} frameState The frame state for creating GPU resources.
24
- *
25
34
  * @returns {ModelDrawCommand|ClassificationModelDrawCommand} The generated ModelDrawCommand or ClassificationModelDrawCommand.
26
35
  *
27
36
  * @private
28
37
  */
29
- function buildDrawCommand(primitiveRenderResources, frameState) {
38
+ ModelDrawCommands.buildModelDrawCommand = function (
39
+ primitiveRenderResources,
40
+ frameState,
41
+ ) {
30
42
  const shaderBuilder = primitiveRenderResources.shaderBuilder;
43
+ const shaderProgram = createShaderProgram(
44
+ primitiveRenderResources,
45
+ shaderBuilder,
46
+ frameState,
47
+ );
48
+
49
+ const command = buildDrawCommandForModel(
50
+ primitiveRenderResources,
51
+ shaderProgram,
52
+ frameState,
53
+ );
54
+
55
+ const model = primitiveRenderResources.model;
56
+ const hasClassification = defined(model.classificationType);
57
+ if (hasClassification) {
58
+ return new ClassificationModelDrawCommand({
59
+ primitiveRenderResources: primitiveRenderResources,
60
+ command: command,
61
+ });
62
+ }
63
+
64
+ return new ModelDrawCommand({
65
+ primitiveRenderResources: primitiveRenderResources,
66
+ command: command,
67
+ });
68
+ };
69
+
70
+ /**
71
+ * @private
72
+ */
73
+ function createShaderProgram(
74
+ primitiveRenderResources,
75
+ shaderBuilder,
76
+ frameState,
77
+ ) {
31
78
  shaderBuilder.addVertexLines(ModelVS);
32
79
  shaderBuilder.addFragmentLines(ModelFS);
33
80
 
81
+ const model = primitiveRenderResources.model;
82
+ const shaderProgram = shaderBuilder.buildShaderProgram(frameState.context);
83
+ model._pipelineResources.push(shaderProgram);
84
+ return shaderProgram;
85
+ }
86
+
87
+ /**
88
+ * Builds the {@link DrawCommand} that serves as the basis for either creating
89
+ * a {@link ModelDrawCommand} or a {@link ModelRuntimePrimitive}
90
+ *
91
+ * @param {PrimitiveRenderResources} primitiveRenderResources The render resources for a primitive.
92
+ * @param {ShaderProgram} shaderProgram The shader program
93
+ * @param {FrameState} frameState The frame state for creating GPU resources.
94
+ *
95
+ * @returns {DrawCommand} The generated DrawCommand, to be passed to
96
+ * the ModelDrawCommand or ClassificationModelDrawCommand
97
+ *
98
+ * @private
99
+ */
100
+ function buildDrawCommandForModel(
101
+ primitiveRenderResources,
102
+ shaderProgram,
103
+ frameState,
104
+ ) {
34
105
  const indexBuffer = getIndexBuffer(primitiveRenderResources);
35
106
 
36
107
  const vertexArray = new VertexArray({
@@ -42,9 +113,6 @@ function buildDrawCommand(primitiveRenderResources, frameState) {
42
113
  const model = primitiveRenderResources.model;
43
114
  model._pipelineResources.push(vertexArray);
44
115
 
45
- const shaderProgram = shaderBuilder.buildShaderProgram(frameState.context);
46
- model._pipelineResources.push(shaderProgram);
47
-
48
116
  const pass = primitiveRenderResources.alphaOptions.pass;
49
117
  const sceneGraph = model.sceneGraph;
50
118
 
@@ -55,7 +123,7 @@ function buildDrawCommand(primitiveRenderResources, frameState) {
55
123
  modelMatrix = Matrix4.multiplyTransformation(
56
124
  sceneGraph._computedModelMatrix,
57
125
  primitiveRenderResources.runtimeNode.computedTransform,
58
- new Matrix4()
126
+ new Matrix4(),
59
127
  );
60
128
 
61
129
  const runtimePrimitive = primitiveRenderResources.runtimePrimitive;
@@ -68,25 +136,24 @@ function buildDrawCommand(primitiveRenderResources, frameState) {
68
136
  modelMatrix = Matrix4.multiplyTransformation(
69
137
  computedModelMatrix,
70
138
  primitiveRenderResources.runtimeNode.computedTransform,
71
- new Matrix4()
139
+ new Matrix4(),
72
140
  );
73
141
 
74
142
  boundingSphere = BoundingSphere.transform(
75
143
  primitiveRenderResources.boundingSphere,
76
144
  modelMatrix,
77
- primitiveRenderResources.boundingSphere
78
145
  );
79
146
  }
80
147
 
81
148
  // Initialize render state with default values
82
149
  let renderState = clone(
83
150
  RenderState.fromCache(primitiveRenderResources.renderStateOptions),
84
- true
151
+ true,
85
152
  );
86
153
 
87
154
  renderState.cull.face = ModelUtility.getCullFace(
88
155
  modelMatrix,
89
- primitiveRenderResources.primitiveType
156
+ primitiveRenderResources.primitiveType,
90
157
  );
91
158
  renderState = RenderState.fromCache(renderState);
92
159
 
@@ -115,24 +182,14 @@ function buildDrawCommand(primitiveRenderResources, frameState) {
115
182
  count: primitiveRenderResources.count,
116
183
  owner: model,
117
184
  pickId: pickId,
185
+ pickMetadataAllowed: true,
118
186
  instanceCount: primitiveRenderResources.instanceCount,
119
187
  primitiveType: primitiveRenderResources.primitiveType,
120
188
  debugShowBoundingVolume: model.debugShowBoundingVolume,
121
189
  castShadows: castShadows,
122
190
  receiveShadows: receiveShadows,
123
191
  });
124
-
125
- if (hasClassification) {
126
- return new ClassificationModelDrawCommand({
127
- primitiveRenderResources: primitiveRenderResources,
128
- command: command,
129
- });
130
- }
131
-
132
- return new ModelDrawCommand({
133
- primitiveRenderResources: primitiveRenderResources,
134
- command: command,
135
- });
192
+ return command;
136
193
  }
137
194
 
138
195
  /**
@@ -158,4 +215,4 @@ function getIndexBuffer(primitiveRenderResources) {
158
215
  return indices.buffer;
159
216
  }
160
217
 
161
- export default buildDrawCommand;
218
+ export default ModelDrawCommands;
@@ -167,7 +167,7 @@ ModelFeatureTable.prototype.update = function (frameState) {
167
167
 
168
168
  const currentStyleCommandsNeeded = StyleCommandsNeeded.getStyleCommandsNeeded(
169
169
  this._featuresLength,
170
- this._batchTexture.translucentFeaturesLength
170
+ this._batchTexture.translucentFeaturesLength,
171
171
  );
172
172
 
173
173
  if (this._styleCommandsNeeded !== currentStyleCommandsNeeded) {
@@ -214,7 +214,7 @@ ModelFeatureTable.prototype.hasProperty = function (featureId, propertyName) {
214
214
 
215
215
  ModelFeatureTable.prototype.hasPropertyBySemantic = function (
216
216
  featureId,
217
- propertyName
217
+ propertyName,
218
218
  ) {
219
219
  return this._propertyTable.hasPropertyBySemantic(featureId, propertyName);
220
220
  };
@@ -225,7 +225,7 @@ ModelFeatureTable.prototype.getProperty = function (featureId, name) {
225
225
 
226
226
  ModelFeatureTable.prototype.getPropertyBySemantic = function (
227
227
  featureId,
228
- semantic
228
+ semantic,
229
229
  ) {
230
230
  return this._propertyTable.getPropertyBySemantic(featureId, semantic);
231
231
  };
@@ -266,13 +266,13 @@ ModelFeatureTable.prototype.applyStyle = function (style) {
266
266
  const color = defined(style.color)
267
267
  ? defaultValue(
268
268
  style.color.evaluateColor(feature, scratchColor),
269
- BatchTexture.DEFAULT_COLOR_VALUE
269
+ BatchTexture.DEFAULT_COLOR_VALUE,
270
270
  )
271
271
  : BatchTexture.DEFAULT_COLOR_VALUE;
272
272
  const show = defined(style.show)
273
273
  ? defaultValue(
274
274
  style.show.evaluate(feature),
275
- BatchTexture.DEFAULT_SHOW_VALUE
275
+ BatchTexture.DEFAULT_SHOW_VALUE,
276
276
  )
277
277
  : BatchTexture.DEFAULT_SHOW_VALUE;
278
278
 
@@ -42,12 +42,29 @@ ModelMatrixUpdateStage.update = function (runtimeNode, sceneGraph, frameState) {
42
42
  runtimeNode,
43
43
  sceneGraph,
44
44
  modelMatrix,
45
- runtimeNode.transformToRoot
45
+ runtimeNode.transformToRoot,
46
46
  );
47
47
  runtimeNode._transformDirty = false;
48
48
  }
49
49
  };
50
50
 
51
+ /**
52
+ * Update the modelMatrix and cullFrace of the given draw command.
53
+ *
54
+ * @private
55
+ */
56
+ function updateDrawCommand(drawCommand, modelMatrix, transformToRoot) {
57
+ drawCommand.modelMatrix = Matrix4.multiplyTransformation(
58
+ modelMatrix,
59
+ transformToRoot,
60
+ drawCommand.modelMatrix,
61
+ );
62
+ drawCommand.cullFace = ModelUtility.getCullFace(
63
+ drawCommand.modelMatrix,
64
+ drawCommand.primitiveType,
65
+ );
66
+ }
67
+
51
68
  /**
52
69
  * Recursively update all child runtime nodes and their runtime primitives.
53
70
  *
@@ -57,7 +74,7 @@ function updateRuntimeNode(
57
74
  runtimeNode,
58
75
  sceneGraph,
59
76
  modelMatrix,
60
- transformToRoot
77
+ transformToRoot,
61
78
  ) {
62
79
  let i;
63
80
 
@@ -65,7 +82,7 @@ function updateRuntimeNode(
65
82
  transformToRoot = Matrix4.multiplyTransformation(
66
83
  transformToRoot,
67
84
  runtimeNode.transform,
68
- new Matrix4()
85
+ new Matrix4(),
69
86
  );
70
87
 
71
88
  runtimeNode.updateComputedTransform();
@@ -73,15 +90,10 @@ function updateRuntimeNode(
73
90
  const primitivesLength = runtimeNode.runtimePrimitives.length;
74
91
  for (i = 0; i < primitivesLength; i++) {
75
92
  const runtimePrimitive = runtimeNode.runtimePrimitives[i];
76
- const drawCommand = runtimePrimitive.drawCommand;
77
- drawCommand.modelMatrix = Matrix4.multiplyTransformation(
93
+ updateDrawCommand(
94
+ runtimePrimitive.drawCommand,
78
95
  modelMatrix,
79
96
  transformToRoot,
80
- drawCommand.modelMatrix
81
- );
82
- drawCommand.cullFace = ModelUtility.getCullFace(
83
- drawCommand.modelMatrix,
84
- drawCommand.primitiveType
85
97
  );
86
98
  }
87
99
 
@@ -92,14 +104,14 @@ function updateRuntimeNode(
92
104
  // Update transformToRoot to accommodate changes in the transforms of this node and its ancestors
93
105
  childRuntimeNode._transformToRoot = Matrix4.clone(
94
106
  transformToRoot,
95
- childRuntimeNode._transformToRoot
107
+ childRuntimeNode._transformToRoot,
96
108
  );
97
109
 
98
110
  updateRuntimeNode(
99
111
  childRuntimeNode,
100
112
  sceneGraph,
101
113
  modelMatrix,
102
- transformToRoot
114
+ transformToRoot,
103
115
  );
104
116
  childRuntimeNode._transformDirty = false;
105
117
  }
@@ -76,7 +76,7 @@ function ModelRenderResources(model) {
76
76
  enabled: true,
77
77
  func: DepthFunction.LESS_OR_EQUAL,
78
78
  },
79
- })
79
+ }),
80
80
  );
81
81
 
82
82
  /**