@cesium/engine 12.0.1 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/Build/Workers/{chunk-WMHJAREU.js → chunk-22NU5WU5.js} +2 -2
  2. package/Build/Workers/{chunk-NL73INJS.js → chunk-2IIE2UZ3.js} +2 -2
  3. package/Build/Workers/{chunk-54NYY4U4.js → chunk-2OD54CUD.js} +7 -7
  4. package/Build/Workers/{chunk-NELAPOO6.js → chunk-2TSF7N76.js} +2 -2
  5. package/Build/Workers/{chunk-KKMH4BKN.js → chunk-3VHIUS7I.js} +6 -6
  6. package/Build/Workers/{chunk-U7SH6OK7.js → chunk-3ZMTG4X5.js} +4 -4
  7. package/Build/Workers/{chunk-ENARO52I.js → chunk-4HS475MU.js} +14 -14
  8. package/Build/Workers/{chunk-7CKQ7PVJ.js → chunk-4IM6WQEI.js} +6 -6
  9. package/Build/Workers/{chunk-3Y4UGAYI.js → chunk-6HWW6KNV.js} +6 -6
  10. package/Build/Workers/{chunk-VO4SXJXT.js → chunk-6ZOS2ACR.js} +7 -7
  11. package/Build/Workers/{chunk-7D6T2WYT.js → chunk-BFNZUP2C.js} +7 -41
  12. package/Build/Workers/{chunk-Q7IIOKAT.js → chunk-BLTSMJIP.js} +1 -1
  13. package/Build/Workers/{chunk-VXVQITFC.js → chunk-BZMHXDKV.js} +13 -13
  14. package/Build/Workers/{chunk-DR56WFYZ.js → chunk-CQDSGG3R.js} +7 -7
  15. package/Build/Workers/{chunk-DJ7K7EYK.js → chunk-CUMDCSMT.js} +11 -11
  16. package/Build/Workers/{chunk-2F42VIW6.js → chunk-D3VPMNUR.js} +13 -13
  17. package/Build/Workers/{chunk-76KRKKEF.js → chunk-DIAH2ZTB.js} +9 -9
  18. package/Build/Workers/{chunk-X6YBZOOA.js → chunk-EXDSJZ7J.js} +4 -4
  19. package/Build/Workers/{chunk-EMCXAVSG.js → chunk-FANORJU6.js} +2 -2
  20. package/Build/Workers/{chunk-GBPW65E3.js → chunk-FLPIQK2R.js} +6 -6
  21. package/Build/Workers/{chunk-ZPTNVB3S.js → chunk-GBXJIWAZ.js} +34 -8
  22. package/Build/Workers/{chunk-BH5M522L.js → chunk-GJZQSAES.js} +7 -7
  23. package/Build/Workers/{chunk-LBNGHEJY.js → chunk-GNG3V432.js} +4 -4
  24. package/Build/Workers/{chunk-2IJZVFHY.js → chunk-H4Y7ADFL.js} +5 -5
  25. package/Build/Workers/{chunk-ETXXXGMP.js → chunk-H7BML7HH.js} +6 -6
  26. package/Build/Workers/{chunk-PISTPJXS.js → chunk-HMMPNR4Z.js} +12 -12
  27. package/Build/Workers/{chunk-XDJ7V4NZ.js → chunk-JISDBAYP.js} +5 -5
  28. package/Build/Workers/{chunk-VHGI7D3P.js → chunk-KCCTLUKK.js} +10 -10
  29. package/Build/Workers/{chunk-2XOUWNPN.js → chunk-KKVKSTWC.js} +5 -5
  30. package/Build/Workers/{chunk-PNA47CR7.js → chunk-KRCUHV7P.js} +1 -1
  31. package/Build/Workers/{chunk-KJ65M35B.js → chunk-MMILY4S7.js} +11 -11
  32. package/Build/Workers/{chunk-22FZ334F.js → chunk-MSKD73KW.js} +10 -10
  33. package/Build/Workers/{chunk-PH3T7LNP.js → chunk-NVFEDMX4.js} +15 -15
  34. package/Build/Workers/{chunk-MV7YO647.js → chunk-OUIF26MQ.js} +6 -6
  35. package/Build/Workers/{chunk-IAX6MIST.js → chunk-OZZD3VY4.js} +17 -17
  36. package/Build/Workers/{chunk-647NL6VU.js → chunk-PD2MCNV7.js} +2 -2
  37. package/Build/Workers/{chunk-PJHRB4YJ.js → chunk-PMNQULFU.js} +7 -7
  38. package/Build/Workers/{chunk-YT5PQMSP.js → chunk-Q4MTXEB7.js} +6 -6
  39. package/Build/Workers/{chunk-JAKTB6CE.js → chunk-RC5N5SJL.js} +7 -7
  40. package/Build/Workers/{chunk-LVHHB5T6.js → chunk-RGZWZ4PP.js} +4 -4
  41. package/Build/Workers/{chunk-IVCFTVYW.js → chunk-RIQGQMS4.js} +4 -4
  42. package/Build/Workers/{chunk-GRQQHWMD.js → chunk-RR4M3ZGF.js} +7 -7
  43. package/Build/Workers/{chunk-K7QC3WDT.js → chunk-S4SCKDK4.js} +1 -1
  44. package/Build/Workers/{chunk-AGYO4ZSF.js → chunk-T5H7YWC7.js} +17 -17
  45. package/Build/Workers/{chunk-GSJ6LWIS.js → chunk-W2DVQETH.js} +10 -10
  46. package/Build/Workers/{chunk-JPNFQRN7.js → chunk-W2E67GLE.js} +13 -13
  47. package/Build/Workers/{chunk-ZCCI55EY.js → chunk-WXJY6NDI.js} +13 -13
  48. package/Build/Workers/{chunk-AER5CLXD.js → chunk-XQP37R5E.js} +5 -5
  49. package/Build/Workers/{chunk-7EBHNJTG.js → chunk-YBDL7YPF.js} +1 -1
  50. package/Build/Workers/{chunk-IJWXYSFC.js → chunk-YDEZMDB7.js} +2 -2
  51. package/Build/Workers/{chunk-H3RMGG7L.js → chunk-Z7OYBX6P.js} +5 -5
  52. package/Build/Workers/{chunk-COHL4R3G.js → chunk-ZIWULRRD.js} +1 -1
  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/GoogleGeocoderService.js +110 -0
  103. package/Source/Core/ITwinPlatform.js +359 -0
  104. package/Source/Core/Ion.js +1 -1
  105. package/Source/Core/IonGeocodeProviderType.js +33 -0
  106. package/Source/Core/IonGeocoderService.js +72 -0
  107. package/Source/Core/Rectangle.js +0 -20
  108. package/Source/Core/TrackingReferenceFrame.js +45 -0
  109. package/Source/DataSources/Entity.js +15 -1
  110. package/Source/DataSources/EntityView.js +55 -4
  111. package/Source/DataSources/SampledProperty.js +24 -0
  112. package/Source/Renderer/ContextLimits.js +1 -1
  113. package/Source/Renderer/Texture.js +104 -92
  114. package/Source/Scene/ArcGisMapService.js +1 -1
  115. package/Source/Scene/Cesium3DTilesetStatistics.js +109 -42
  116. package/Source/Scene/DerivedCommand.js +109 -16
  117. package/Source/Scene/DynamicEnvironmentMapManager.js +87 -7
  118. package/Source/Scene/GltfTextureLoader.js +16 -1
  119. package/Source/Scene/ITwinData.js +138 -0
  120. package/Source/Scene/Label.js +17 -3
  121. package/Source/Scene/MetadataClassProperty.js +26 -0
  122. package/Source/Scene/MetadataPicking.js +108 -17
  123. package/Source/Scene/MetadataType.js +20 -0
  124. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +6 -11
  125. package/Source/Scene/Model/Model3DTileContent.js +23 -1
  126. package/Source/Scene/Model/ModelStatistics.js +33 -5
  127. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +2 -1
  128. package/Source/Scene/PickedMetadataInfo.js +21 -3
  129. package/Source/Scene/Picking.js +7 -1
  130. package/Source/Scene/PostProcessStage.js +14 -17
  131. package/Source/Scene/PostProcessStageCollection.js +4 -16
  132. package/Source/Scene/PostProcessStageLibrary.js +13 -51
  133. package/Source/Scene/PropertyAttributeProperty.js +15 -3
  134. package/Source/Scene/PropertyTextureProperty.js +12 -0
  135. package/Source/Scene/Scene.js +17 -2
  136. package/Source/Scene/SkyBox.js +23 -4
  137. package/Source/Scene/UrlTemplateImageryProvider.js +5 -5
  138. package/Source/Scene/createGooglePhotorealistic3DTileset.js +55 -16
  139. package/Source/Scene/getMetadataProperty.js +48 -0
  140. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +1 -1
  141. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +1 -1
  142. package/Source/Shaders/ConvolveSpecularMapFS.glsl +1 -1
  143. package/Source/Shaders/ConvolveSpecularMapFS.js +1 -1
  144. package/Source/Shaders/Model/ModelFS.glsl +7 -0
  145. package/Source/Shaders/Model/ModelFS.js +7 -0
  146. package/Source/Shaders/Model/ModelVS.glsl +9 -1
  147. package/Source/Shaders/Model/ModelVS.js +9 -1
  148. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +66 -37
  149. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +66 -37
  150. package/index.d.ts +270 -39
  151. package/index.js +59 -53
  152. 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
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
  */
@@ -20904,6 +21004,7 @@ export namespace Entity {
20904
21004
  * @property [name] - A human readable name to display to users. It does not have to be unique.
20905
21005
  * @property [availability] - The availability, if any, associated with this object.
20906
21006
  * @property [show] - A boolean value indicating if the entity and its children are displayed.
21007
+ * @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
21008
  * @property [description] - A string Property specifying an HTML description for this entity.
20908
21009
  * @property [position] - A Property specifying the entity position.
20909
21010
  * @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 +21034,9 @@ export namespace Entity {
20933
21034
  name?: string;
20934
21035
  availability?: TimeIntervalCollection;
20935
21036
  show?: boolean;
21037
+ trackingReferenceFrame?: TrackingReferenceFrame;
20936
21038
  description?: Property | string;
20937
- position?: PositionProperty | Cartesian3 | CallbackProperty;
21039
+ position?: PositionProperty | Cartesian3 | CallbackPositionProperty;
20938
21040
  orientation?: Property | Quaternion;
20939
21041
  viewFrom?: Property | Cartesian3;
20940
21042
  parent?: Entity;
@@ -20999,6 +21101,10 @@ export class Entity {
20999
21101
  * the entity is only displayed if the parent entity's show property is also true.
21000
21102
  */
21001
21103
  show: boolean;
21104
+ /**
21105
+ * Gets or sets the entity's tracking reference frame.
21106
+ */
21107
+ trackingReferenceFrame: TrackingReferenceFrame;
21002
21108
  /**
21003
21109
  * Gets whether this entity is being displayed, taking into account
21004
21110
  * the visibility of any ancestor entities.
@@ -24862,6 +24968,12 @@ export class SampledProperty {
24862
24968
  * @param [derivativeValues] - An array where each item is the array of derivatives at the equivalent time index.
24863
24969
  */
24864
24970
  addSamples(times: JulianDate[], values: Packable[], derivativeValues?: any[][]): void;
24971
+ /**
24972
+ * Retrieves the time of the provided sample associated with the index. A negative index accesses the list of samples in reverse order.
24973
+ * @param index - The index of samples list.
24974
+ * @returns The JulianDate time of the sample, or undefined if failed.
24975
+ */
24976
+ getSample(index: number): JulianDate | undefined;
24865
24977
  /**
24866
24978
  * Adds samples as a single packed array where each new sample is represented as a date,
24867
24979
  * followed by the packed representation of the corresponding value and derivatives.
@@ -31436,6 +31548,47 @@ export enum DepthFunction {
31436
31548
  */
31437
31549
  export function getGlslType(classProperty: MetadataClassProperty): string;
31438
31550
 
31551
+ /**
31552
+ * Returns a shader statement that applies the inverse of the
31553
+ * value transform to the given value, based on the given offset
31554
+ * and scale.
31555
+ * @param input - The input value
31556
+ * @param offset - The offset
31557
+ * @param scale - The scale
31558
+ * @returns The statement
31559
+ */
31560
+ export function unapplyValueTransform(input: string, offset: string, scale: string): string;
31561
+
31562
+ /**
31563
+ * Returns a shader statement that applies the inverse of the
31564
+ * normalization, based on the given component type
31565
+ * @param input - The input value
31566
+ * @param componentType - The component type
31567
+ * @returns The statement
31568
+ */
31569
+ export function unnormalize(input: string, componentType: string): string;
31570
+
31571
+ /**
31572
+ * Creates a shader statement that returns the value of the specified
31573
+ * property, normalized to the range [0, 1].
31574
+ * @param classProperty - The class property
31575
+ * @param metadataProperty - The metadata property, either
31576
+ * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
31577
+ * @returns The string
31578
+ */
31579
+ export function getSourceValueStringScalar(classProperty: MetadataClassProperty, metadataProperty: any): string;
31580
+
31581
+ /**
31582
+ * Creates a shader statement that returns the value of the specified
31583
+ * component of the given 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
+ * @param componentName - The name, in ["x", "y", "z", "w"]
31588
+ * @returns The string
31589
+ */
31590
+ export function getSourceValueStringComponent(classProperty: MetadataClassProperty, metadataProperty: any, componentName: string): string;
31591
+
31439
31592
  /**
31440
31593
  * A light that gets emitted in a single direction from infinitely far away.
31441
31594
  * @param options - Object with the following properties:
@@ -33826,6 +33979,40 @@ export class I3SSymbology {
33826
33979
  readonly defaultSymbology: any;
33827
33980
  }
33828
33981
 
33982
+ /**
33983
+ * Methods for loading iTwin platform data into CesiumJS
33984
+ */
33985
+ export namespace ITwinData {
33986
+ /**
33987
+ * Create a {@link Cesium3DTileset} for the given iModel id using iTwin's Mesh Export API.
33988
+ *
33989
+ * If there is not a completed export available for the given iModel id, the returned promise will resolve to <code>undefined</code>.
33990
+ * We recommend waiting 10-20 seconds and trying to load the tileset again.
33991
+ * If all exports are Invalid this will throw an error.
33992
+ * @example
33993
+ * const tileset = await Cesium.ITwinData.createTilesetFromIModelId(iModelId);
33994
+ * if (Cesium.defined(tileset)) {
33995
+ * viewer.scene.primitives.add(tileset);
33996
+ * }
33997
+ * @param iModelId - The id of the iModel to load
33998
+ * @param [options] - Object containing options to pass to the internally created {@link Cesium3DTileset}.
33999
+ * @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
34000
+ */
34001
+ function createTilesetFromIModelId(iModelId: string, options?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset | undefined>;
34002
+ /**
34003
+ * Create a tileset for the specified reality data id. This function only works
34004
+ * with 3D Tiles meshes and point clouds.
34005
+ *
34006
+ * If the <code>type</code> or <code>rootDocument</code> are not provided this function
34007
+ * will first request the full metadata for the specified reality data to fill these values.
34008
+ * @param iTwinId - The id of the iTwin to load data from
34009
+ * @param realityDataId - The id of the reality data to load
34010
+ * @param [type] - The type of this reality data
34011
+ * @param [rootDocument] - The path of the root document for this reality data
34012
+ */
34013
+ function createTilesetForRealityDataId(iTwinId: string, realityDataId: string, type?: ITwinPlatform.RealityDataType, rootDocument?: string): Promise<Cesium3DTileset>;
34014
+ }
34015
+
33829
34016
  /**
33830
34017
  * Properties for managing image-based lighting on tilesets and models.
33831
34018
  * Also manages the necessary resources and textures.
@@ -36273,10 +36460,18 @@ export class MetadataClassProperty {
36273
36460
  readonly semantic: string;
36274
36461
  /**
36275
36462
  * The offset to be added to property values as part of the value transform.
36463
+ *
36464
+ * This is always defined, even when `hasValueTransform` is `false`. If
36465
+ * the class property JSON itself did not define it, then it will be
36466
+ * initialized to the default value.
36276
36467
  */
36277
36468
  readonly offset: number | number[] | number[][];
36278
36469
  /**
36279
36470
  * The scale to be multiplied to property values as part of the value transform.
36471
+ *
36472
+ * This is always defined, even when `hasValueTransform` is `false`. If
36473
+ * the class property JSON itself did not define it, then it will be
36474
+ * initialized to the default value.
36280
36475
  */
36281
36476
  readonly scale: number | number[] | number[][];
36282
36477
  /**
@@ -36499,6 +36694,26 @@ export class MetadataSchema {
36499
36694
  readonly extensions: any;
36500
36695
  }
36501
36696
 
36697
+ /**
36698
+ * An instance of a metadata value.<br>
36699
+ * <br>
36700
+ * This can be one of the following types:
36701
+ * <ul>
36702
+ * <li><code>number</code> for type <code>SCALAR</code> and numeric component types except for <code>INT64</code> or <code>UINT64</code></li>
36703
+ * <li><code>bigint</code> for type <code>SCALAR</code> and component type <code>INT64</code> or <code>UINT64</code></li>
36704
+ * <li><code>string</code> for type <code>STRING</code> or <code>ENUM</code></li>
36705
+ * <li><code>boolean</code> for type <code>BOOLEAN</code></li>
36706
+ * <li><code>Cartesian2</code> for type <code>VEC2</code></li>
36707
+ * <li><code>Cartesian3</code> for type <code>VEC3</code></li>
36708
+ * <li><code>Cartesian4</code> for type <code>VEC4</code></li>
36709
+ * <li><code>Matrix2</code> for type <code>MAT2</code></li>
36710
+ * <li><code>Matrix3</code> for type <code>MAT3</code></li>
36711
+ * <li><code>Matrix4</code> for type <code>MAT4</code></li>
36712
+ * <li>Arrays of these types when the metadata value is an array</li>
36713
+ * </ul>
36714
+ */
36715
+ export type MetadataValue = number | bigint | string | boolean | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | number[] | bigint[] | string[] | boolean[] | Cartesian2[] | Cartesian3[] | Cartesian4[] | Matrix2[] | Matrix3[] | Matrix4[];
36716
+
36502
36717
  /**
36503
36718
  * An enum of metadata types. These metadata types are containers containing
36504
36719
  * one or more components of type {@link MetadataComponentType}
@@ -38815,10 +39030,19 @@ export var className: string;
38815
39030
  export var propertyName: string;
38816
39031
 
38817
39032
  /**
38818
- * The optional ID of the metadata schema
39033
+ * The the `MetadataClassProperty` that is described by this
39034
+ * structure, as obtained from the `MetadataSchema`
38819
39035
  */
38820
39036
  export var classProperty: MetadataClassProperty;
38821
39037
 
39038
+ /**
39039
+ * The `PropertyTextureProperty` or `PropertyAttributeProperty` that
39040
+ * is described by this structure, as obtained from the property texture
39041
+ * or property attribute of the `StructuralMetadata` that matches the
39042
+ * class name and property name.
39043
+ */
39044
+ export var metadataProperty: any;
39045
+
38822
39046
  /**
38823
39047
  * Compute the rectangle that describes the part of the drawing buffer
38824
39048
  * that is relevant for picking.
@@ -39812,32 +40036,20 @@ export class PostProcessStageCollection {
39812
40036
  * surface receives light and regardless of the light's position.
39813
40037
  * </p>
39814
40038
  * <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>
40039
+ * The uniforms have the following properties:
39819
40040
  * <ul>
39820
40041
  * <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
40042
  * <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
40043
  * 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
40044
  * <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
40045
  * 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
- *
40046
+ * <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>
40047
+ * <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>
40048
+ * <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
40049
  * <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
40050
  * 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
40051
  * </ul>
39836
40052
  * <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
40053
  * When enabled, this stage will execute before all others.
39842
40054
  * </p>
39843
40055
  */
@@ -41203,9 +41415,10 @@ export class Scene {
41203
41415
  * values from
41204
41416
  * @param propertyName - The name of the metadata property to pick
41205
41417
  * values from
41206
- * @returns The metadata value
41418
+ * @returns The metadata value, or `undefined` when
41419
+ * no matching metadata was found at the given position
41207
41420
  */
41208
- pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): any;
41421
+ pickMetadata(windowPosition: Cartesian2, schemaId: string | undefined, className: string, propertyName: string): MetadataValue | undefined;
41209
41422
  /**
41210
41423
  * Pick the schema of the metadata of the object at the given position
41211
41424
  * @param windowPosition - Window coordinates to perform picking on.
@@ -42928,13 +43141,13 @@ export namespace UrlTemplateImageryProvider {
42928
43141
  * });
42929
43142
  * // Access a Web Map Service (WMS) server.
42930
43143
  * 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&' +
43144
+ * url : 'https://services.ga.gov.au/gis/services/NM_Hydrology_and_Marine_Points/MapServer/WMSServer?' +
43145
+ * 'tiled=true&transparent=true&format=image%2Fpng&exceptions=application%2Fvnd.ogc.se_xml&' +
43146
+ * 'styles=&service=WMS&version=1.3.0&request=GetMap&' +
43147
+ * 'layers=Bores&crs=EPSG%3A3857&' +
42935
43148
  * 'bbox={westProjected}%2C{southProjected}%2C{eastProjected}%2C{northProjected}&' +
42936
43149
  * 'width=256&height=256',
42937
- * rectangle : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
43150
+ * rectangle : Cesium.Rectangle.fromDegrees(95.0, -55.0, 170.0, -1.0) // From GetCapabilities EX_GeographicBoundingBox
42938
43151
  * });
42939
43152
  * // Using custom tags in your template url.
42940
43153
  * const custom = new Cesium.UrlTemplateImageryProvider({
@@ -44007,12 +44220,22 @@ export function createElevationBandMaterial(options: {
44007
44220
  }): Material;
44008
44221
 
44009
44222
  /**
44010
- * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D Tiles tileset.
44223
+ * Creates a {@link Cesium3DTileset} instance for the Google Photorealistic 3D
44224
+ * Tiles tileset.
44225
+ *
44226
+ * Google Photorealistic 3D Tiles can only be used with the Google geocoder. To
44227
+ * confirm that you are aware of this restriction pass
44228
+ * `usingOnlyWithGoogleGeocoder: true` to the apiOptions. Otherwise a one time
44229
+ * warning will be displayed when this function is called.
44011
44230
  * @example
44012
- * const viewer = new Cesium.Viewer("cesiumContainer");
44231
+ * const viewer = new Cesium.Viewer("cesiumContainer", {
44232
+ * geocoder: Cesium.IonGeocodeProviderType.GOOGLE
44233
+ * });
44013
44234
  *
44014
44235
  * try {
44015
- * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
44236
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset({
44237
+ * onlyUsingWithGoogleGeocoder: true,
44238
+ * });
44016
44239
  * viewer.scene.primitives.add(tileset));
44017
44240
  * } catch (error) {
44018
44241
  * console.log(`Error creating tileset: ${error}`);
@@ -44021,18 +44244,26 @@ export function createElevationBandMaterial(options: {
44021
44244
  * // Use your own Google Maps API key
44022
44245
  * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
44023
44246
  *
44024
- * const viewer = new Cesium.Viewer("cesiumContainer");
44247
+ * const viewer = new Cesium.Viewer("cesiumContainer". {
44248
+ * geocoder: Cesium.IonGeocodeProviderType.GOOGLE
44249
+ * });
44025
44250
  *
44026
44251
  * try {
44027
- * const tileset = await Cesium.createGooglePhotorealistic3DTileset();
44252
+ * const tileset = await Cesium.createGooglePhotorealistic3DTileset({
44253
+ * onlyUsingWithGoogleGeocoder: true,
44254
+ * });
44028
44255
  * viewer.scene.primitives.add(tileset));
44029
44256
  * } catch (error) {
44030
44257
  * console.log(`Error creating tileset: ${error}`);
44031
44258
  * }
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>;
44259
+ * @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.
44260
+ * @param [apiOptions.onlyUsingWithGoogleGeocoder] - Confirmation that this tileset will only be used with the Google geocoder.
44261
+ * @param [tilesetOptions] - An object describing initialization options.
44262
+ */
44263
+ export function createGooglePhotorealistic3DTileset(apiOptions?: {
44264
+ key?: string;
44265
+ onlyUsingWithGoogleGeocoder?: true;
44266
+ }, tilesetOptions?: Cesium3DTileset.ConstructorOptions): Promise<Cesium3DTileset>;
44036
44267
 
44037
44268
  /**
44038
44269
  * Creates a {@link Cesium3DTileset} instance for the