@cesium/engine 12.0.1 → 13.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 (161) hide show
  1. package/Build/Workers/{chunk-7D6T2WYT.js → chunk-2ONAV62A.js} +14 -47
  2. package/Build/Workers/{chunk-MV7YO647.js → chunk-2SRHVCFD.js} +6 -6
  3. package/Build/Workers/{chunk-ZPTNVB3S.js → chunk-3SCCWLZS.js} +34 -8
  4. package/Build/Workers/{chunk-7CKQ7PVJ.js → chunk-54I6VSRP.js} +6 -6
  5. package/Build/Workers/{chunk-XDJ7V4NZ.js → chunk-5I3LPAS7.js} +5 -5
  6. package/Build/Workers/{chunk-GSJ6LWIS.js → chunk-5ICYLS6B.js} +35 -21
  7. package/Build/Workers/{chunk-BH5M522L.js → chunk-5JY4LYO3.js} +7 -7
  8. package/Build/Workers/{chunk-DR56WFYZ.js → chunk-APCS5YJI.js} +7 -7
  9. package/Build/Workers/{chunk-COHL4R3G.js → chunk-AXYZUG4N.js} +1 -1
  10. package/Build/Workers/{chunk-2IJZVFHY.js → chunk-B34JXFHF.js} +5 -5
  11. package/Build/Workers/{chunk-54NYY4U4.js → chunk-B6IJY6AN.js} +7 -7
  12. package/Build/Workers/{chunk-H3RMGG7L.js → chunk-BMFWWTD7.js} +5 -5
  13. package/Build/Workers/{chunk-PJHRB4YJ.js → chunk-CBE4HRBH.js} +7 -7
  14. package/Build/Workers/{chunk-U7SH6OK7.js → chunk-CNPP6TQ2.js} +4 -4
  15. package/Build/Workers/{chunk-2XOUWNPN.js → chunk-DWIKWWEE.js} +5 -5
  16. package/Build/Workers/{chunk-PNA47CR7.js → chunk-EHGQQA7C.js} +1 -1
  17. package/Build/Workers/{chunk-7EBHNJTG.js → chunk-EJ5DT5BP.js} +1 -1
  18. package/Build/Workers/{chunk-3Y4UGAYI.js → chunk-EYZFEJX3.js} +6 -6
  19. package/Build/Workers/{chunk-EMCXAVSG.js → chunk-FNCXBBCF.js} +2 -2
  20. package/Build/Workers/{chunk-NL73INJS.js → chunk-GIOZHX7U.js} +2 -2
  21. package/Build/Workers/{chunk-VHGI7D3P.js → chunk-GSLKQJM2.js} +10 -10
  22. package/Build/Workers/{chunk-647NL6VU.js → chunk-HI73PIPQ.js} +2 -2
  23. package/Build/Workers/{chunk-GRQQHWMD.js → chunk-IP7F2MVW.js} +7 -7
  24. package/Build/Workers/{chunk-LBNGHEJY.js → chunk-IXNXKVOB.js} +4 -4
  25. package/Build/Workers/{chunk-2F42VIW6.js → chunk-J7BMSSY7.js} +13 -13
  26. package/Build/Workers/{chunk-PH3T7LNP.js → chunk-K62EHZFT.js} +15 -15
  27. package/Build/Workers/{chunk-GBPW65E3.js → chunk-K6SQV4IS.js} +6 -6
  28. package/Build/Workers/{chunk-WMHJAREU.js → chunk-KO232FLP.js} +2 -2
  29. package/Build/Workers/{chunk-AER5CLXD.js → chunk-KRVALCCI.js} +5 -5
  30. package/Build/Workers/{chunk-22FZ334F.js → chunk-LFUFGHL3.js} +10 -10
  31. package/Build/Workers/{chunk-AGYO4ZSF.js → chunk-LQT2ZK7D.js} +17 -17
  32. package/Build/Workers/{chunk-KJ65M35B.js → chunk-M2AA2ARJ.js} +11 -11
  33. package/Build/Workers/{chunk-YT5PQMSP.js → chunk-MGABCOOH.js} +6 -6
  34. package/Build/Workers/{chunk-JPNFQRN7.js → chunk-NQDKNE7V.js} +13 -13
  35. package/Build/Workers/{chunk-IJWXYSFC.js → chunk-OARMSJUU.js} +2 -2
  36. package/Build/Workers/{chunk-K7QC3WDT.js → chunk-OGRXNUR2.js} +1 -1
  37. package/Build/Workers/{chunk-KKMH4BKN.js → chunk-OZTFRHA2.js} +6 -6
  38. package/Build/Workers/{chunk-DJ7K7EYK.js → chunk-PBJQFLKS.js} +11 -11
  39. package/Build/Workers/{chunk-ETXXXGMP.js → chunk-PM76TX2X.js} +6 -6
  40. package/Build/Workers/{chunk-PISTPJXS.js → chunk-PTFIVVLX.js} +12 -12
  41. package/Build/Workers/{chunk-VXVQITFC.js → chunk-R2KGFZBA.js} +13 -13
  42. package/Build/Workers/{chunk-VO4SXJXT.js → chunk-S3UM4OKP.js} +7 -7
  43. package/Build/Workers/{chunk-NELAPOO6.js → chunk-SAKQO5NX.js} +2 -2
  44. package/Build/Workers/{chunk-ENARO52I.js → chunk-T34EOLFR.js} +14 -14
  45. package/Build/Workers/{chunk-X6YBZOOA.js → chunk-THDHWSEJ.js} +4 -4
  46. package/Build/Workers/{chunk-LVHHB5T6.js → chunk-TOHDFUJM.js} +4 -4
  47. package/Build/Workers/{chunk-Q7IIOKAT.js → chunk-UBAHTE4Q.js} +1 -1
  48. package/Build/Workers/{chunk-IAX6MIST.js → chunk-WAJNX74N.js} +17 -17
  49. package/Build/Workers/{chunk-76KRKKEF.js → chunk-WE4KF4AM.js} +9 -9
  50. package/Build/Workers/{chunk-JAKTB6CE.js → chunk-WUIDEXAN.js} +7 -7
  51. package/Build/Workers/{chunk-IVCFTVYW.js → chunk-YVGU235V.js} +4 -4
  52. package/Build/Workers/{chunk-ZCCI55EY.js → chunk-ZWSWJYJP.js} +13 -13
  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 +31 -32
  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 +20 -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 +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/BingMapsGeocoderService.js +2 -0
  102. package/Source/Core/Check.d.ts +2 -1
  103. package/Source/Core/GoogleGeocoderService.js +110 -0
  104. package/Source/Core/ITwinPlatform.js +324 -0
  105. package/Source/Core/Ion.js +1 -1
  106. package/Source/Core/IonGeocodeProviderType.js +33 -0
  107. package/Source/Core/IonGeocoderService.js +72 -0
  108. package/Source/Core/JulianDate.js +14 -7
  109. package/Source/Core/Rectangle.js +0 -20
  110. package/Source/Core/TrackingReferenceFrame.js +45 -0
  111. package/Source/Core/defined.d.ts +11 -0
  112. package/Source/DataSources/Entity.js +15 -1
  113. package/Source/DataSources/EntityView.js +55 -4
  114. package/Source/DataSources/ModelGraphics.js +23 -1
  115. package/Source/DataSources/ModelVisualizer.js +22 -1
  116. package/Source/DataSources/SampledProperty.js +24 -0
  117. package/Source/Renderer/ContextLimits.js +1 -1
  118. package/Source/Renderer/Texture.js +104 -92
  119. package/Source/Scene/ArcGisMapService.js +1 -1
  120. package/Source/Scene/Cesium3DTileset.js +1 -1
  121. package/Source/Scene/Cesium3DTilesetStatistics.js +109 -42
  122. package/Source/Scene/DerivedCommand.js +109 -16
  123. package/Source/Scene/DynamicEnvironmentMapManager.js +202 -65
  124. package/Source/Scene/GltfTextureLoader.js +16 -1
  125. package/Source/Scene/ITwinData.js +208 -0
  126. package/Source/Scene/Label.js +17 -3
  127. package/Source/Scene/MetadataClassProperty.js +26 -0
  128. package/Source/Scene/MetadataPicking.js +108 -17
  129. package/Source/Scene/MetadataType.js +20 -0
  130. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +6 -11
  131. package/Source/Scene/Model/Model.js +1 -1
  132. package/Source/Scene/Model/Model3DTileContent.js +23 -1
  133. package/Source/Scene/Model/ModelStatistics.js +33 -5
  134. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +2 -1
  135. package/Source/Scene/PickedMetadataInfo.js +21 -3
  136. package/Source/Scene/Picking.js +7 -1
  137. package/Source/Scene/PostProcessStage.js +14 -17
  138. package/Source/Scene/PostProcessStageCollection.js +4 -16
  139. package/Source/Scene/PostProcessStageLibrary.js +13 -51
  140. package/Source/Scene/PropertyAttributeProperty.js +15 -3
  141. package/Source/Scene/PropertyTextureProperty.js +12 -0
  142. package/Source/Scene/Scene.js +17 -2
  143. package/Source/Scene/SkyBox.js +23 -4
  144. package/Source/Scene/UrlTemplateImageryProvider.js +5 -5
  145. package/Source/Scene/createGooglePhotorealistic3DTileset.js +55 -16
  146. package/Source/Scene/getMetadataProperty.js +48 -0
  147. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +1 -1
  148. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +1 -1
  149. package/Source/Shaders/ConvolveSpecularMapFS.glsl +1 -1
  150. package/Source/Shaders/ConvolveSpecularMapFS.js +1 -1
  151. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  152. package/Source/Shaders/DepthPlaneVS.js +1 -1
  153. package/Source/Shaders/Model/ModelFS.glsl +7 -0
  154. package/Source/Shaders/Model/ModelFS.js +7 -0
  155. package/Source/Shaders/Model/ModelVS.glsl +9 -1
  156. package/Source/Shaders/Model/ModelVS.js +9 -1
  157. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +66 -37
  158. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +66 -37
  159. package/index.d.ts +295 -42
  160. package/index.js +67 -61
  161. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -7724,6 +7724,27 @@ export class GoogleEarthEnterpriseTerrainProvider {
7724
7724
  loadTileDataAvailability(x: number, y: number, level: number): undefined;
7725
7725
  }
7726
7726
 
7727
+ /**
7728
+ * Provides geocoding through Google.
7729
+ * @param options - Object with the following properties:
7730
+ * @param options.key - An API key to use with the Google geocoding service
7731
+ */
7732
+ export class GoogleGeocoderService {
7733
+ constructor(options: {
7734
+ key: string;
7735
+ });
7736
+ /**
7737
+ * Gets the credit to display after a geocode is performed. Typically this is used to credit
7738
+ * the geocoder service.
7739
+ */
7740
+ readonly credit: Credit | undefined;
7741
+ /**
7742
+ * Get a list of possible locations that match a search string.
7743
+ * @param query - The query to be sent to the geocoder service
7744
+ */
7745
+ geocode(query: string): Promise<GeocoderService.Result[]>;
7746
+ }
7747
+
7727
7748
  /**
7728
7749
  * Default settings for accessing the Google Maps API.
7729
7750
  * <br/>
@@ -8363,6 +8384,37 @@ export class HermiteSpline {
8363
8384
  */
8364
8385
  export namespace HilbertOrder { }
8365
8386
 
8387
+ /**
8388
+ * Default settings for accessing the iTwin platform.
8389
+ */
8390
+ export namespace ITwinPlatform {
8391
+ /**
8392
+ * Status states for a mesh-export export.
8393
+ * Valid values are: <code>NotStarted</code>, <code>InProgress</code>, <code>Complete</code>, <code>Invalid</code>
8394
+ */
8395
+ enum ExportStatus {
8396
+ }
8397
+ /**
8398
+ * Types of mesh-export exports. CesiumJS only supports loading <code>3DTILES</code> type exports.
8399
+ * Valid values are: <code>IMODEL</code>, <code>CESIUM</code>, <code>3DTILES</code>
8400
+ */
8401
+ enum ExportType {
8402
+ }
8403
+ /**
8404
+ * Types of Reality data. This is a partial list of types we know we can support
8405
+ */
8406
+ enum RealityDataType {
8407
+ }
8408
+ /**
8409
+ * Gets or sets the default iTwin access token. This token should have the <code>itwin-platform</code> scope.
8410
+ */
8411
+ var defaultAccessToken: string | undefined;
8412
+ /**
8413
+ * Gets or sets the default iTwin API endpoint.
8414
+ */
8415
+ var apiEndpoint: string | Resource;
8416
+ }
8417
+
8366
8418
  /**
8367
8419
  * Constants for WebGL index datatypes. These corresponds to the
8368
8420
  * <code>type</code> parameter of {@link http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml|drawElements}.
@@ -8682,24 +8734,49 @@ export namespace Ion {
8682
8734
  var defaultServer: string | Resource;
8683
8735
  }
8684
8736
 
8737
+ /**
8738
+ * Underlying geocoding services that can be used via Cesium ion.
8739
+ */
8740
+ export enum IonGeocodeProviderType {
8741
+ /**
8742
+ * Google geocoder, for use with Google data.
8743
+ */
8744
+ GOOGLE = "GOOGLE",
8745
+ /**
8746
+ * Bing geocoder, for use with Bing data.
8747
+ */
8748
+ BING = "BING",
8749
+ /**
8750
+ * Use the default geocoder as set on the server. Used when neither Bing or
8751
+ * Google data is used.
8752
+ */
8753
+ DEFAULT = "DEFAULT"
8754
+ }
8755
+
8685
8756
  /**
8686
8757
  * Provides geocoding through Cesium ion.
8687
8758
  * @param options - Object with the following properties:
8688
8759
  * @param options.scene - The scene
8689
8760
  * @param [options.accessToken = Ion.defaultAccessToken] - The access token to use.
8690
8761
  * @param [options.server = Ion.defaultServer] - The resource to the Cesium ion API server.
8762
+ * @param [options.geocodeProviderType = IonGeocodeProviderType.DEFAULT] - The geocoder the Cesium ion API server should use to fulfill this request.
8691
8763
  */
8692
8764
  export class IonGeocoderService {
8693
8765
  constructor(options: {
8694
8766
  scene: Scene;
8695
8767
  accessToken?: string;
8696
8768
  server?: string | Resource;
8769
+ geocodeProviderType?: IonGeocodeProviderType;
8697
8770
  });
8698
8771
  /**
8699
8772
  * Gets the credit to display after a geocode is performed. Typically this is used to credit
8700
8773
  * the geocoder service.
8701
8774
  */
8702
8775
  readonly credit: Credit | undefined;
8776
+ /**
8777
+ * The geocoding service that Cesium ion API server should use to fulfill geocding requests.
8778
+ */
8779
+ geocodeProviderType: IonGeocodeProviderType;
8703
8780
  /**
8704
8781
  * @param query - The query to be sent to the geocoder service
8705
8782
  * @param [type = GeocodeType.SEARCH] - The type of geocode to perform.
@@ -14289,11 +14366,6 @@ export class Rectangle {
14289
14366
  * @returns <code>true</code> if the Rectangles are within the provided epsilon, <code>false</code> otherwise.
14290
14367
  */
14291
14368
  equalsEpsilon(other?: Rectangle, epsilon?: number): boolean;
14292
- /**
14293
- * Checks a Rectangle's properties and throws if they are not in valid ranges.
14294
- * @param rectangle - The rectangle to validate
14295
- */
14296
- static validate(rectangle: Rectangle): void;
14297
14369
  /**
14298
14370
  * Computes the southwest corner of a rectangle.
14299
14371
  * @param rectangle - The rectangle for which to find the corner
@@ -17143,6 +17215,34 @@ export enum TimeStandard {
17143
17215
  TAI = 1
17144
17216
  }
17145
17217
 
17218
+ /**
17219
+ * Constants for identifying well-known tracking reference frames.
17220
+ */
17221
+ export enum TrackingReferenceFrame {
17222
+ /**
17223
+ * Auto-detect algorithm. The reference frame used to track the Entity will
17224
+ * be automatically selected based on its trajectory: near-surface slow moving
17225
+ * objects will be tracked in the entity's local east-north-up reference
17226
+ * frame, while faster objects like satellites will use VVLH (Vehicle Velocity,
17227
+ * Local Horizontal).
17228
+ */
17229
+ AUTODETECT = 0,
17230
+ /**
17231
+ * The entity's local East-North-Up reference frame.
17232
+ */
17233
+ ENU = 1,
17234
+ /**
17235
+ * The entity's inertial reference frame. If entity has no defined orientation
17236
+ * property, it falls back to auto-detect algorithm.
17237
+ */
17238
+ INERTIAL = 2,
17239
+ /**
17240
+ * The entity's inertial reference frame with orientation fixed to its
17241
+ * {@link VelocityOrientationProperty}, ignoring its own orientation.
17242
+ */
17243
+ VELOCITY = 3
17244
+ }
17245
+
17146
17246
  /**
17147
17247
  * Contains functions for transforming positions to various reference frames.
17148
17248
  */
@@ -18391,6 +18491,7 @@ export function defaultValue(a: any, b: any): any;
18391
18491
  */
18392
18492
  export function defined<Type>(value: Type): value is NonNullable<Type>;
18393
18493
 
18494
+
18394
18495
  /**
18395
18496
  * Destroys an object. Each of the object's functions, including functions in its prototype,
18396
18497
  * is replaced with a function that throws a {@link DeveloperError}, except for the object's
@@ -20904,6 +21005,7 @@ export namespace Entity {
20904
21005
  * @property [name] - A human readable name to display to users. It does not have to be unique.
20905
21006
  * @property [availability] - The availability, if any, associated with this object.
20906
21007
  * @property [show] - A boolean value indicating if the entity and its children are displayed.
21008
+ * @property [trackingReferenceFrame = TrackingReferenceFrame.AUTODETECT] - The reference frame used when this entity is being tracked. <br/> If <code>undefined</code>, reference frame is determined based on entity velocity: near-surface slow moving entities are tracked using the local east-north-up reference frame, whereas fast moving entities such as satellites are tracked using VVLH (Vehicle Velocity, Local Horizontal).
20907
21009
  * @property [description] - A string Property specifying an HTML description for this entity.
20908
21010
  * @property [position] - A Property specifying the entity position.
20909
21011
  * @property [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.
@@ -20933,8 +21035,9 @@ export namespace Entity {
20933
21035
  name?: string;
20934
21036
  availability?: TimeIntervalCollection;
20935
21037
  show?: boolean;
21038
+ trackingReferenceFrame?: TrackingReferenceFrame;
20936
21039
  description?: Property | string;
20937
- position?: PositionProperty | Cartesian3 | CallbackProperty;
21040
+ position?: PositionProperty | Cartesian3 | CallbackPositionProperty;
20938
21041
  orientation?: Property | Quaternion;
20939
21042
  viewFrom?: Property | Cartesian3;
20940
21043
  parent?: Entity;
@@ -20999,6 +21102,10 @@ export class Entity {
20999
21102
  * the entity is only displayed if the parent entity's show property is also true.
21000
21103
  */
21001
21104
  show: boolean;
21105
+ /**
21106
+ * Gets or sets the entity's tracking reference frame.
21107
+ */
21108
+ trackingReferenceFrame: TrackingReferenceFrame;
21002
21109
  /**
21003
21110
  * Gets whether this entity is being displayed, taking into account
21004
21111
  * the visibility of any ancestor entities.
@@ -22640,6 +22747,7 @@ export namespace ModelGraphics {
22640
22747
  * @property [colorBlendMode = ColorBlendMode.HIGHLIGHT] - An enum Property specifying how the color blends with the model.
22641
22748
  * @property [colorBlendAmount = 0.5] - A numeric Property specifying the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
22642
22749
  * @property [imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - A property specifying the contribution from diffuse and specular image-based lighting.
22750
+ * @property [environmentMapOptions] - The properties for managing dynamic environment maps on this entity.
22643
22751
  * @property [lightColor] - A property specifying the light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
22644
22752
  * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this model will be displayed.
22645
22753
  * @property [nodeTransformations] - An object, where keys are names of nodes, and values are {@link TranslationRotationScale} Properties describing the transformation to apply to that node. The transformation is applied after the node's existing transformation as specified in the glTF, and does not replace the node's existing transformation.
@@ -22665,6 +22773,9 @@ export namespace ModelGraphics {
22665
22773
  colorBlendMode?: Property | ColorBlendMode;
22666
22774
  colorBlendAmount?: Property | number;
22667
22775
  imageBasedLightingFactor?: Property | Cartesian2;
22776
+ environmentMapOptions?: PropertyBag | {
22777
+ [key: string]: any;
22778
+ };
22668
22779
  lightColor?: Property | Color;
22669
22780
  distanceDisplayCondition?: Property | DistanceDisplayCondition;
22670
22781
  nodeTransformations?: PropertyBag | {
@@ -22772,6 +22883,10 @@ export class ModelGraphics {
22772
22883
  * A property specifying the {@link Cartesian2} used to scale the diffuse and specular image-based lighting contribution to the final color.
22773
22884
  */
22774
22885
  imageBasedLightingFactor: Property | undefined;
22886
+ /**
22887
+ * Gets or sets the {@link DynamicEnvironmentMapManager.ConstructorOptions} to apply to this model. This is represented as an {@link PropertyBag}.
22888
+ */
22889
+ environmentMapOptions: PropertyBag;
22775
22890
  /**
22776
22891
  * A property specifying the {@link Cartesian3} light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
22777
22892
  */
@@ -24862,6 +24977,12 @@ export class SampledProperty {
24862
24977
  * @param [derivativeValues] - An array where each item is the array of derivatives at the equivalent time index.
24863
24978
  */
24864
24979
  addSamples(times: JulianDate[], values: Packable[], derivativeValues?: any[][]): void;
24980
+ /**
24981
+ * Retrieves the time of the provided sample associated with the index. A negative index accesses the list of samples in reverse order.
24982
+ * @param index - The index of samples list.
24983
+ * @returns The JulianDate time of the sample, or undefined if failed.
24984
+ */
24985
+ getSample(index: number): JulianDate | undefined;
24865
24986
  /**
24866
24987
  * Adds samples as a single packed array where each new sample is represented as a date,
24867
24988
  * followed by the packed representation of the corresponding value and derivatives.
@@ -29125,6 +29246,7 @@ export namespace Cesium3DTileset {
29125
29246
  * @property [pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
29126
29247
  * @property [lightColor] - The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
29127
29248
  * @property [imageBasedLighting] - The properties for managing image-based lighting for this tileset.
29249
+ * @property [environmentMapOptions] - The properties for managing dynamic environment maps on this tileset.
29128
29250
  * @property [backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the glTF material's doubleSided property; when false, back face culling is disabled.
29129
29251
  * @property [enableShowOutline = true] - Whether to enable outlines for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. This can be set to false to avoid the additional processing of geometry at load time. When false, the showOutlines and outlineColor options are ignored.
29130
29252
  * @property [showOutline = true] - Whether to display the outline for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. When true, outlines are displayed. When false, outlines are not displayed.
@@ -29150,7 +29272,6 @@ export namespace Cesium3DTileset {
29150
29272
  * @property [debugShowRenderingStatistics = false] - For debugging only. When true, draws labels to indicate the number of commands, points, triangles and features for each tile.
29151
29273
  * @property [debugShowMemoryUsage = false] - For debugging only. When true, draws labels to indicate the texture and geometry memory in megabytes used by each tile.
29152
29274
  * @property [debugShowUrl = false] - For debugging only. When true, draws labels to indicate the url of each tile.
29153
- * @param [options.environmentMapOptions] - The properties for managing dynamic environment maps on this model.
29154
29275
  */
29155
29276
  type ConstructorOptions = {
29156
29277
  show?: boolean;
@@ -29190,6 +29311,7 @@ export namespace Cesium3DTileset {
29190
29311
  pointCloudShading?: any;
29191
29312
  lightColor?: Cartesian3;
29192
29313
  imageBasedLighting?: ImageBasedLighting;
29314
+ environmentMapOptions?: DynamicEnvironmentMapManager.ConstructorOptions;
29193
29315
  backFaceCulling?: boolean;
29194
29316
  enableShowOutline?: boolean;
29195
29317
  showOutline?: boolean;
@@ -31436,6 +31558,47 @@ export enum DepthFunction {
31436
31558
  */
31437
31559
  export function getGlslType(classProperty: MetadataClassProperty): string;
31438
31560
 
31561
+ /**
31562
+ * Returns a shader statement that applies the inverse of the
31563
+ * value transform to the given value, based on the given offset
31564
+ * and scale.
31565
+ * @param input - The input value
31566
+ * @param offset - The offset
31567
+ * @param scale - The scale
31568
+ * @returns The statement
31569
+ */
31570
+ export function unapplyValueTransform(input: string, offset: string, scale: string): string;
31571
+
31572
+ /**
31573
+ * Returns a shader statement that applies the inverse of the
31574
+ * normalization, based on the given component type
31575
+ * @param input - The input value
31576
+ * @param componentType - The component type
31577
+ * @returns The statement
31578
+ */
31579
+ export function unnormalize(input: string, componentType: string): string;
31580
+
31581
+ /**
31582
+ * Creates a shader statement that returns the value of the specified
31583
+ * property, normalized to the range [0, 1].
31584
+ * @param classProperty - The class property
31585
+ * @param metadataProperty - The metadata property, either
31586
+ * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
31587
+ * @returns The string
31588
+ */
31589
+ export function getSourceValueStringScalar(classProperty: MetadataClassProperty, metadataProperty: any): string;
31590
+
31591
+ /**
31592
+ * Creates a shader statement that returns the value of the specified
31593
+ * component of the given property, normalized to the range [0, 1].
31594
+ * @param classProperty - The class property
31595
+ * @param metadataProperty - The metadata property, either
31596
+ * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
31597
+ * @param componentName - The name, in ["x", "y", "z", "w"]
31598
+ * @returns The string
31599
+ */
31600
+ export function getSourceValueStringComponent(classProperty: MetadataClassProperty, metadataProperty: any, componentName: string): string;
31601
+
31439
31602
  /**
31440
31603
  * A light that gets emitted in a single direction from infinitely far away.
31441
31604
  * @param options - Object with the following properties:
@@ -31543,7 +31706,7 @@ export namespace DynamicEnvironmentMapManager {
31543
31706
  /**
31544
31707
  * Options for the DynamicEnvironmentMapManager constructor
31545
31708
  * @property [enabled = true] - If true, the environment map and related properties will continue to update.
31546
- * @property [mipmapLevels = 10] - The number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection.
31709
+ * @property [mipmapLevels = 7] - The number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection.
31547
31710
  * @property [maximumSecondsDifference = 3600] - The maximum amount of elapsed seconds before a new environment map is created.
31548
31711
  * @property [maximumPositionEpsilon = 1000] - The maximum difference in position before a new environment map is created, in meters. Small differences in position will not visibly affect results.
31549
31712
  * @property [atmosphereScatteringIntensity = 2.0] - The intensity of the scattered light emitted from the atmosphere. This should be adjusted relative to the value of {@link Scene.light} intensity.
@@ -33826,6 +33989,52 @@ export class I3SSymbology {
33826
33989
  readonly defaultSymbology: any;
33827
33990
  }
33828
33991
 
33992
+ /**
33993
+ * Methods for loading iTwin platform data into CesiumJS
33994
+ */
33995
+ export namespace ITwinData {
33996
+ /**
33997
+ * Create a {@link Cesium3DTileset} for the given iModel id using iTwin's Mesh Export API.
33998
+ *
33999
+ * If there is not a completed export available for the given iModel id, the returned promise will resolve to <code>undefined</code>.
34000
+ * We recommend waiting 10-20 seconds and trying to load the tileset again.
34001
+ * If all exports are Invalid this will throw an error.
34002
+ * @example
34003
+ * const tileset = await Cesium.ITwinData.createTilesetFromIModelId(iModelId);
34004
+ * if (Cesium.defined(tileset)) {
34005
+ * viewer.scene.primitives.add(tileset);
34006
+ * }
34007
+ * @param iModelId - The id of the iModel to load
34008
+ * @param [options] - Object containing options to pass to the internally created {@link Cesium3DTileset}.
34009
+ * @returns A promise that will resolve to the created 3D tileset or <code>undefined</code> if there is no completed export for the given iModel id
34010
+ */
34011
+ function createTilesetFromIModelId(iModelId: string, options?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset | undefined>;
34012
+ /**
34013
+ * Create a tileset for the specified reality data id. This function only works
34014
+ * with 3D Tiles meshes and point clouds.
34015
+ *
34016
+ * If the <code>type</code> or <code>rootDocument</code> are not provided this function
34017
+ * will first request the full metadata for the specified reality data to fill these values.
34018
+ * @param iTwinId - The id of the iTwin to load data from
34019
+ * @param realityDataId - The id of the reality data to load
34020
+ * @param [type] - The type of this reality data
34021
+ * @param [rootDocument] - The path of the root document for this reality data
34022
+ */
34023
+ function createTilesetForRealityDataId(iTwinId: string, realityDataId: string, type?: ITwinPlatform.RealityDataType, rootDocument?: string): Promise<Cesium3DTileset>;
34024
+ /**
34025
+ * Create a data source of the correct type for the specified reality data id.
34026
+ * This function only works for KML and GeoJSON type data.
34027
+ *
34028
+ * If the <code>type</code> or <code>rootDocument</code> are not provided this function
34029
+ * will first request the full metadata for the specified reality data to fill these values.
34030
+ * @param iTwinId - The id of the iTwin to load data from
34031
+ * @param realityDataId - The id of the reality data to load
34032
+ * @param [type] - The type of this reality data
34033
+ * @param [rootDocument] - The path of the root document for this reality data
34034
+ */
34035
+ function createDataSourceForRealityDataId(iTwinId: string, realityDataId: string, type?: ITwinPlatform.RealityDataType, rootDocument?: string): Promise<GeoJsonDataSource | KmlDataSource>;
34036
+ }
34037
+
33829
34038
  /**
33830
34039
  * Properties for managing image-based lighting on tilesets and models.
33831
34040
  * Also manages the necessary resources and textures.
@@ -36273,10 +36482,18 @@ export class MetadataClassProperty {
36273
36482
  readonly semantic: string;
36274
36483
  /**
36275
36484
  * The offset to be added to property values as part of the value transform.
36485
+ *
36486
+ * This is always defined, even when `hasValueTransform` is `false`. If
36487
+ * the class property JSON itself did not define it, then it will be
36488
+ * initialized to the default value.
36276
36489
  */
36277
36490
  readonly offset: number | number[] | number[][];
36278
36491
  /**
36279
36492
  * The scale to be multiplied to property values as part of the value transform.
36493
+ *
36494
+ * This is always defined, even when `hasValueTransform` is `false`. If
36495
+ * the class property JSON itself did not define it, then it will be
36496
+ * initialized to the default value.
36280
36497
  */
36281
36498
  readonly scale: number | number[] | number[][];
36282
36499
  /**
@@ -36499,6 +36716,26 @@ export class MetadataSchema {
36499
36716
  readonly extensions: any;
36500
36717
  }
36501
36718
 
36719
+ /**
36720
+ * An instance of a metadata value.<br>
36721
+ * <br>
36722
+ * This can be one of the following types:
36723
+ * <ul>
36724
+ * <li><code>number</code> for type <code>SCALAR</code> and numeric component types except for <code>INT64</code> or <code>UINT64</code></li>
36725
+ * <li><code>bigint</code> for type <code>SCALAR</code> and component type <code>INT64</code> or <code>UINT64</code></li>
36726
+ * <li><code>string</code> for type <code>STRING</code> or <code>ENUM</code></li>
36727
+ * <li><code>boolean</code> for type <code>BOOLEAN</code></li>
36728
+ * <li><code>Cartesian2</code> for type <code>VEC2</code></li>
36729
+ * <li><code>Cartesian3</code> for type <code>VEC3</code></li>
36730
+ * <li><code>Cartesian4</code> for type <code>VEC4</code></li>
36731
+ * <li><code>Matrix2</code> for type <code>MAT2</code></li>
36732
+ * <li><code>Matrix3</code> for type <code>MAT3</code></li>
36733
+ * <li><code>Matrix4</code> for type <code>MAT4</code></li>
36734
+ * <li>Arrays of these types when the metadata value is an array</li>
36735
+ * </ul>
36736
+ */
36737
+ export type MetadataValue = number | bigint | string | boolean | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | number[] | bigint[] | string[] | boolean[] | Cartesian2[] | Cartesian3[] | Cartesian4[] | Matrix2[] | Matrix3[] | Matrix4[];
36738
+
36502
36739
  /**
36503
36740
  * An enum of metadata types. These metadata types are containers containing
36504
36741
  * one or more components of type {@link MetadataComponentType}
@@ -37381,7 +37618,7 @@ export class Model {
37381
37618
  *
37382
37619
  * The given name may be the name of a glTF extension, like `"EXT_example_extension"`.
37383
37620
  * If the specified extension was present in the root of the underlying glTF asset,
37384
- * and a loder for the specified extension has processed the extension data, then
37621
+ * and a loader for the specified extension has processed the extension data, then
37385
37622
  * this will return the model representation of the extension.
37386
37623
  * @param extensionName - The name of the extension
37387
37624
  * @returns The object, or `undefined`
@@ -38815,10 +39052,19 @@ export var className: string;
38815
39052
  export var propertyName: string;
38816
39053
 
38817
39054
  /**
38818
- * The optional ID of the metadata schema
39055
+ * The the `MetadataClassProperty` that is described by this
39056
+ * structure, as obtained from the `MetadataSchema`
38819
39057
  */
38820
39058
  export var classProperty: MetadataClassProperty;
38821
39059
 
39060
+ /**
39061
+ * The `PropertyTextureProperty` or `PropertyAttributeProperty` that
39062
+ * is described by this structure, as obtained from the property texture
39063
+ * or property attribute of the `StructuralMetadata` that matches the
39064
+ * class name and property name.
39065
+ */
39066
+ export var metadataProperty: any;
39067
+
38822
39068
  /**
38823
39069
  * Compute the rectangle that describes the part of the drawing buffer
38824
39070
  * that is relevant for picking.
@@ -39812,32 +40058,20 @@ export class PostProcessStageCollection {
39812
40058
  * surface receives light and regardless of the light's position.
39813
40059
  * </p>
39814
40060
  * <p>
39815
- * The uniforms have the following properties: <code>intensity</code>, <code>bias</code>, <code>lengthCap</code>,
39816
- * <code>stepSize</code>, <code>frustumLength</code>, <code>ambientOcclusionOnly</code>,
39817
- * <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code>.
39818
- * </p>
40061
+ * The uniforms have the following properties:
39819
40062
  * <ul>
39820
40063
  * <li><code>intensity</code> is a scalar value used to lighten or darken the shadows exponentially. Higher values make the shadows darker. The default value is <code>3.0</code>.</li>
39821
- *
39822
40064
  * <li><code>bias</code> is a scalar value representing an angle in radians. If the dot product between the normal of the sample and the vector to the camera is less than this value,
39823
40065
  * sampling stops in the current direction. This is used to remove shadows from near planar edges. The default value is <code>0.1</code>.</li>
39824
- *
39825
40066
  * <li><code>lengthCap</code> is a scalar value representing a length in meters. If the distance from the current sample to first sample is greater than this value,
39826
40067
  * sampling stops in the current direction. The default value is <code>0.26</code>.</li>
39827
- *
39828
- * <li><code>stepSize</code> is a scalar value indicating the distance to the next texel sample in the current direction. The default value is <code>1.95</code>.</li>
39829
- *
39830
- * <li><code>frustumLength</code> is a scalar value in meters. If the current fragment has a distance from the camera greater than this value, ambient occlusion is not computed for the fragment.
39831
- * The default value is <code>1000.0</code>.</li>
39832
- *
40068
+ * <li><code>directionCount</code> is the number of directions along which the ray marching will search for occluders. The default value is <code>8</code>.</li>
40069
+ * <li><code>stepCount</code> is the number of steps the ray marching will take along each direction. The default value is <code>32</code>.</li>
40070
+ * <li><code>randomTexture</code> is a texture where the red channel is a random value in [0.0, 1.0]. The default value is <code>undefined</code>. This texture needs to be set.</li>
39833
40071
  * <li><code>ambientOcclusionOnly</code> is a boolean value. When <code>true</code>, only the shadows generated are written to the output. When <code>false</code>, the input texture is modulated
39834
40072
  * with the ambient occlusion. This is a useful debug option for seeing the effects of changing the uniform values. The default value is <code>false</code>.</li>
39835
40073
  * </ul>
39836
40074
  * <p>
39837
- * <code>delta</code>, <code>sigma</code>, and <code>blurStepSize</code> are the same properties as {@link PostProcessStageLibrary#createBlurStage}.
39838
- * The blur is applied to the shadows generated from the image to make them smoother.
39839
- * </p>
39840
- * <p>
39841
40075
  * When enabled, this stage will execute before all others.
39842
40076
  * </p>
39843
40077
  */
@@ -41203,9 +41437,10 @@ export class Scene {
41203
41437
  * values from
41204
41438
  * @param propertyName - The name of the metadata property to pick
41205
41439
  * values from
41206
- * @returns The metadata value
41440
+ * @returns The metadata value, or `undefined` when
41441
+ * no matching metadata was found at the given position
41207
41442
  */
41208
- pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): any;
41443
+ pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): MetadataValue | undefined;
41209
41444
  /**
41210
41445
  * Pick the schema of the metadata of the object at the given position
41211
41446
  * @param windowPosition - Window coordinates to perform picking on.
@@ -42928,13 +43163,13 @@ export namespace UrlTemplateImageryProvider {
42928
43163
  * });
42929
43164
  * // Access a Web Map Service (WMS) server.
42930
43165
  * const wms = new Cesium.UrlTemplateImageryProvider({
42931
- * url : 'https://programs.communications.gov.au/geoserver/ows?tiled=true&' +
42932
- * 'transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
42933
- * 'styles=&service=WMS&version=1.1.1&request=GetMap&' +
42934
- * 'layers=public%3AMyBroadband_Availability&srs=EPSG%3A3857&' +
43166
+ * url : 'https://services.ga.gov.au/gis/services/NM_Hydrology_and_Marine_Points/MapServer/WMSServer?' +
43167
+ * 'tiled=true&transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
43168
+ * 'styles=&service=WMS&version=1.3.0&request=GetMap&' +
43169
+ * 'layers=Bores&crs=EPSG%3A3857&' +
42935
43170
  * 'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
42936
43171
  * 'width=256&height=256',
42937
- * rectangle : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
43172
+ * rectangle : Cesium.Rectangle.fromDegrees(95.0, -55.0, 170.0, -1.0) // From GetCapabilities EX_GeographicBoundingBox
42938
43173
  * });
42939
43174
  * // Using custom tags in your template url.
42940
43175
  * const custom = new Cesium.UrlTemplateImageryProvider({
@@ -44007,12 +44242,22 @@ export function createElevationBandMaterial(options: {
44007
44242
  }): Material;
44008
44243
 
44009
44244
  /**
44010
- * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D Tiles tileset.
44245
+ * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D
44246
+ * Tiles tileset.
44247
+ *
44248
+ * Google Photorealistic 3D Tiles can only be used with the Google geocoder. To
44249
+ * confirm that you are aware of this restriction pass
44250
+ * `usingOnlyWithGoogleGeocoder: true` to the apiOptions. Otherwise a one time
44251
+ * warning will be displayed when this function is called.
44011
44252
  * @example
44012
- * const viewer = new Cesium.Viewer("cesiumContainer");
44253
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
44254
+ * geocoder: Cesium.IonGeocodeProviderType.GOOGLE
44255
+ * });
44013
44256
  *
44014
44257
  * try {
44015
- * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
44258
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset({
44259
+ * onlyUsingWithGoogleGeocoder: true,
44260
+ * });
44016
44261
  * viewer.scene.primitives.add(tileset));
44017
44262
  * } catch (error) {
44018
44263
  * console.log(`Error creating tileset: ${error}`);
@@ -44021,18 +44266,26 @@ export function createElevationBandMaterial(options: {
44021
44266
  * // Use your own Google Maps API key
44022
44267
  * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
44023
44268
  *
44024
- * const viewer = new Cesium.Viewer("cesiumContainer");
44269
+ * const viewer = new Cesium.Viewer("cesiumContainer". {
44270
+ * geocoder: Cesium.IonGeocodeProviderType.GOOGLE
44271
+ * });
44025
44272
  *
44026
44273
  * try {
44027
- * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
44274
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset({
44275
+ * onlyUsingWithGoogleGeocoder: true,
44276
+ * });
44028
44277
  * viewer.scene.primitives.add(tileset));
44029
44278
  * } catch (error) {
44030
44279
  * console.log(`Error creating tileset: ${error}`);
44031
44280
  * }
44032
- * @param [key = GoogleMaps.defaultApiKey] - Your API key to access Google Photorealistic 3D Tiles. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key.
44033
- * @param [options] - An object describing initialization options.
44034
- */
44035
- export function createGooglePhotorealistic3DTileset(key?: string, options?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset>;
44281
+ * @param [apiOptions.key = GoogleMaps.defaultApiKey] - Your API key to access Google Photorealistic 3D Tiles. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key.
44282
+ * @param [apiOptions.onlyUsingWithGoogleGeocoder] - Confirmation that this tileset will only be used with the Google geocoder.
44283
+ * @param [tilesetOptions] - An object describing initialization options.
44284
+ */
44285
+ export function createGooglePhotorealistic3DTileset(apiOptions?: {
44286
+ key?: string;
44287
+ onlyUsingWithGoogleGeocoder?: true;
44288
+ }, tilesetOptions?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset>;
44036
44289
 
44037
44290
  /**
44038
44291
  * Creates a {@link Cesium3DTileset} instance for the