mars3d-cesium 1.84.1 → 1.88.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.
- package/Build/Cesium/Cesium.d.ts +1026 -10
- package/Build/Cesium/Cesium.js +90 -1
- package/Build/Cesium/Scene/ModelExperimental/CustomShaderGuide/README.md +272 -0
- package/Build/Cesium/ThirdParty/Workers/basis_transcoder.js +1 -1
- package/Build/Cesium/ThirdParty/Workers/draco_decoder_nodejs.js +117 -0
- package/Build/Cesium/ThirdParty/Workers/pako_deflate.min.js +1 -0
- package/Build/Cesium/ThirdParty/Workers/pako_inflate.min.js +1 -0
- package/Build/Cesium/ThirdParty/Workers/z-worker-pako.js +1 -0
- package/Build/Cesium/ThirdParty/draco_decoder.wasm +0 -0
- package/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +1 -1
- package/Build/Cesium/Workers/ArcType-1da7fdca.js +1 -1
- package/Build/Cesium/Workers/AttributeCompression-0af3c035.js +1 -0
- package/Build/Cesium/Workers/AxisAlignedBoundingBox-1feb0c48.js +1 -0
- package/Build/Cesium/Workers/BoundingRectangle-18e42324.js +1 -0
- package/Build/Cesium/Workers/BoxGeometry-a530ddad.js +1 -0
- package/Build/Cesium/Workers/Color-d2414093.js +1 -0
- package/Build/Cesium/Workers/ComponentDatatype-17b06483.js +1 -0
- package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-4653bf5b.js +1 -0
- package/Build/Cesium/Workers/CorridorGeometryLibrary-df5b99e3.js +1 -0
- package/Build/Cesium/Workers/CylinderGeometry-4a23db6d.js +1 -0
- package/Build/Cesium/Workers/CylinderGeometryLibrary-7b000e1b.js +1 -0
- package/Build/Cesium/Workers/EllipseGeometry-0fca35c1.js +1 -0
- package/Build/Cesium/Workers/EllipseGeometryLibrary-69f5ff56.js +1 -0
- package/Build/Cesium/Workers/EllipseOutlineGeometry-c29842bd.js +1 -0
- package/Build/Cesium/Workers/EllipsoidGeodesic-43ba18de.js +1 -0
- package/Build/Cesium/Workers/EllipsoidGeometry-6edeb2a4.js +1 -0
- package/Build/Cesium/Workers/EllipsoidOutlineGeometry-207e73be.js +1 -0
- package/Build/Cesium/Workers/EllipsoidRhumbLine-afd6cd20.js +1 -0
- package/Build/Cesium/Workers/EllipsoidTangentPlane-b27cd2f7.js +1 -0
- package/Build/Cesium/Workers/EncodedCartesian3-d4f305ce.js +1 -0
- package/Build/Cesium/Workers/FrustumGeometry-3d147886.js +1 -0
- package/Build/Cesium/Workers/GeometryAttribute-80036e07.js +1 -0
- package/Build/Cesium/Workers/GeometryAttributes-b253752a.js +1 -0
- package/Build/Cesium/Workers/GeometryInstance-16601d2a.js +1 -0
- package/Build/Cesium/Workers/GeometryOffsetAttribute-ff1e192c.js +1 -0
- package/Build/Cesium/Workers/GeometryPipeline-5b3fba53.js +1 -0
- package/Build/Cesium/Workers/IndexDatatype-b10faa0b.js +1 -0
- package/Build/Cesium/Workers/IntersectionTests-1b8a3cb9.js +1 -0
- package/Build/Cesium/Workers/Matrix2-f2da41d4.js +1 -0
- package/Build/Cesium/Workers/OrientedBoundingBox-86debc5a.js +1 -0
- package/Build/Cesium/Workers/Plane-0421a8be.js +1 -0
- package/Build/Cesium/Workers/PolygonGeometryLibrary-f129e954.js +1 -0
- package/Build/Cesium/Workers/PolygonPipeline-5582b1ec.js +1 -0
- package/Build/Cesium/Workers/PolylinePipeline-a3ba6f24.js +1 -0
- package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-4af6d4dc.js +1 -0
- package/Build/Cesium/Workers/PrimitivePipeline-82a942e9.js +1 -0
- package/Build/Cesium/Workers/RectangleGeometryLibrary-fbe816b1.js +1 -0
- package/Build/Cesium/Workers/RuntimeError-ffe03243.js +1 -0
- package/Build/Cesium/Workers/TerrainEncoding-6355a4fe.js +1 -0
- package/Build/Cesium/Workers/Transforms-7cd3197b.js +39 -0
- package/Build/Cesium/Workers/VertexFormat-565d6a6c.js +1 -0
- package/Build/Cesium/Workers/WallGeometryLibrary-fb5b94e4.js +1 -0
- package/Build/Cesium/Workers/WebGLConstants-4e26b85a.js +1 -1
- package/Build/Cesium/Workers/WebMercatorProjection-d69cec15.js +1 -0
- package/Build/Cesium/Workers/arrayRemoveDuplicates-bb548aa3.js +1 -0
- package/Build/Cesium/Workers/cesiumWorkerBootstrapper.js +6 -1
- package/Build/Cesium/Workers/combine-8ce3f24b.js +1 -0
- package/Build/Cesium/Workers/combineGeometry.js +1 -1
- package/Build/Cesium/Workers/createBoxGeometry.js +1 -1
- package/Build/Cesium/Workers/createBoxOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createCircleGeometry.js +1 -1
- package/Build/Cesium/Workers/createCircleOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createCorridorGeometry.js +1 -1
- package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createCylinderGeometry.js +1 -1
- package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createEllipseGeometry.js +1 -1
- package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createFrustumGeometry.js +1 -1
- package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createGeometry.js +1 -1
- package/Build/Cesium/Workers/createGroundPolylineGeometry.js +1 -1
- package/Build/Cesium/Workers/createPlaneGeometry.js +1 -1
- package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createPolygonGeometry.js +1 -1
- package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createPolylineGeometry.js +1 -1
- package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +1 -1
- package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createRectangleGeometry.js +1 -1
- package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Cesium/Workers/createSphereGeometry.js +1 -1
- package/Build/Cesium/Workers/createSphereOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/createTaskProcessorWorker.js +1 -1
- package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Cesium/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Cesium/Workers/createVectorTilePoints.js +1 -1
- package/Build/Cesium/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Cesium/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Cesium/Workers/createVerticesFromHeightmap.js +3 -1
- package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
- package/Build/Cesium/Workers/createWallGeometry.js +1 -1
- package/Build/Cesium/Workers/createWallOutlineGeometry.js +1 -1
- package/Build/Cesium/Workers/decodeDraco.js +1 -1
- package/Build/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +1 -1
- package/Build/Cesium/Workers/transcodeKTX2.js +1 -1
- package/Build/Cesium/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/Build/Cesium/Workers/when-229515d6.js +3 -0
- package/package.json +1 -1
- package/Build/Cesium/ThirdParty/Workers/deflate.js +0 -1
- package/Build/Cesium/ThirdParty/Workers/draco_decoder.js +0 -33
- package/Build/Cesium/ThirdParty/Workers/draco_wasm_wrapper.js +0 -129
- package/Build/Cesium/ThirdParty/Workers/inflate.js +0 -1
- package/Build/Cesium/ThirdParty/Workers/ktx-parse.modern.js +0 -1
- package/Build/Cesium/Workers/AttributeCompression-56959beb.js +0 -1
- package/Build/Cesium/Workers/AxisAlignedBoundingBox-14881a9b.js +0 -1
- package/Build/Cesium/Workers/BoundingRectangle-df67ecf0.js +0 -1
- package/Build/Cesium/Workers/BoxGeometry-3d518ca9.js +0 -1
- package/Build/Cesium/Workers/Cartesian2-40b13f31.js +0 -1
- package/Build/Cesium/Workers/Check-3917d765.js +0 -1
- package/Build/Cesium/Workers/Color-55a64d9e.js +0 -1
- package/Build/Cesium/Workers/ComponentDatatype-6c2e43c1.js +0 -1
- package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-c86d51c7.js +0 -1
- package/Build/Cesium/Workers/CorridorGeometryLibrary-10d77042.js +0 -1
- package/Build/Cesium/Workers/CylinderGeometry-1eec26e0.js +0 -1
- package/Build/Cesium/Workers/CylinderGeometryLibrary-069ad349.js +0 -1
- package/Build/Cesium/Workers/EllipseGeometry-4939ebd5.js +0 -1
- package/Build/Cesium/Workers/EllipseGeometryLibrary-275cae76.js +0 -1
- package/Build/Cesium/Workers/EllipseOutlineGeometry-22382518.js +0 -1
- package/Build/Cesium/Workers/EllipsoidGeodesic-bdbae7c8.js +0 -1
- package/Build/Cesium/Workers/EllipsoidGeometry-01796b7e.js +0 -1
- package/Build/Cesium/Workers/EllipsoidOutlineGeometry-ecd1734b.js +0 -1
- package/Build/Cesium/Workers/EllipsoidRhumbLine-6baec512.js +0 -1
- package/Build/Cesium/Workers/EllipsoidTangentPlane-b7b148bd.js +0 -1
- package/Build/Cesium/Workers/EncodedCartesian3-942c4568.js +0 -1
- package/Build/Cesium/Workers/FrustumGeometry-ca24586c.js +0 -1
- package/Build/Cesium/Workers/GeometryAttribute-8f00b923.js +0 -1
- package/Build/Cesium/Workers/GeometryAttributes-fbd9a3fb.js +0 -1
- package/Build/Cesium/Workers/GeometryInstance-e5765c46.js +0 -1
- package/Build/Cesium/Workers/GeometryOffsetAttribute-964ec9ef.js +0 -1
- package/Build/Cesium/Workers/GeometryPipeline-06778f23.js +0 -1
- package/Build/Cesium/Workers/IndexDatatype-b42089ce.js +0 -1
- package/Build/Cesium/Workers/IntersectionTests-2dece3b4.js +0 -1
- package/Build/Cesium/Workers/Math-87254c13.js +0 -1
- package/Build/Cesium/Workers/OrientedBoundingBox-714102d2.js +0 -1
- package/Build/Cesium/Workers/Plane-69fa3eea.js +0 -1
- package/Build/Cesium/Workers/PolygonGeometryLibrary-3364a920.js +0 -1
- package/Build/Cesium/Workers/PolygonPipeline-4cefc824.js +0 -1
- package/Build/Cesium/Workers/PolylinePipeline-ce297e94.js +0 -1
- package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-ee98d4d3.js +0 -1
- package/Build/Cesium/Workers/PrimitivePipeline-57ebb7ec.js +0 -1
- package/Build/Cesium/Workers/RectangleGeometryLibrary-c2a9b2ca.js +0 -1
- package/Build/Cesium/Workers/RuntimeError-fad4d3c6.js +0 -1
- package/Build/Cesium/Workers/TerrainEncoding-92d1abc9.js +0 -1
- package/Build/Cesium/Workers/Transforms-a7d32f6c.js +0 -1
- package/Build/Cesium/Workers/VertexFormat-8d463a4f.js +0 -1
- package/Build/Cesium/Workers/WallGeometryLibrary-be93455a.js +0 -1
- package/Build/Cesium/Workers/WebMercatorProjection-bdaffcea.js +0 -1
- package/Build/Cesium/Workers/arrayRemoveDuplicates-47b233f1.js +0 -1
- package/Build/Cesium/Workers/combine-83aa7971.js +0 -1
- package/Build/Cesium/Workers/when-7b580518.js +0 -1
package/Build/Cesium/Cesium.d.ts
CHANGED
|
@@ -903,10 +903,12 @@ export type binarySearchComparator = (a: any, b: any) => number;
|
|
|
903
903
|
* Provides geocoding through Bing Maps.
|
|
904
904
|
* @param options - Object with the following properties:
|
|
905
905
|
* @param options.key - A key to use with the Bing Maps geocoding service
|
|
906
|
+
* @param [options.culture] - A Bing Maps {@link https://docs.microsoft.com/en-us/bingmaps/rest-services/common-parameters-and-types/supported-culture-codes|Culture Code} to return results in a specific culture and language.
|
|
906
907
|
*/
|
|
907
908
|
export class BingMapsGeocoderService {
|
|
908
909
|
constructor(options: {
|
|
909
910
|
key: string;
|
|
911
|
+
culture?: string;
|
|
910
912
|
});
|
|
911
913
|
/**
|
|
912
914
|
* The URL endpoint for the Bing geocoder service
|
|
@@ -1811,6 +1813,10 @@ export class Cartesian2 {
|
|
|
1811
1813
|
* An immutable Cartesian2 instance initialized to (0.0, 0.0).
|
|
1812
1814
|
*/
|
|
1813
1815
|
static readonly ZERO: Cartesian2;
|
|
1816
|
+
/**
|
|
1817
|
+
* An immutable Cartesian2 instance initialized to (1.0, 1.0).
|
|
1818
|
+
*/
|
|
1819
|
+
static readonly ONE: Cartesian2;
|
|
1814
1820
|
/**
|
|
1815
1821
|
* An immutable Cartesian2 instance initialized to (1.0, 0.0).
|
|
1816
1822
|
*/
|
|
@@ -2221,6 +2227,10 @@ export class Cartesian3 {
|
|
|
2221
2227
|
* An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0).
|
|
2222
2228
|
*/
|
|
2223
2229
|
static readonly ZERO: Cartesian3;
|
|
2230
|
+
/**
|
|
2231
|
+
* An immutable Cartesian3 instance initialized to (1.0, 1.0, 1.0).
|
|
2232
|
+
*/
|
|
2233
|
+
static readonly ONE: Cartesian3;
|
|
2224
2234
|
/**
|
|
2225
2235
|
* An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0).
|
|
2226
2236
|
*/
|
|
@@ -2543,6 +2553,10 @@ export class Cartesian4 {
|
|
|
2543
2553
|
* An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0).
|
|
2544
2554
|
*/
|
|
2545
2555
|
static readonly ZERO: Cartesian4;
|
|
2556
|
+
/**
|
|
2557
|
+
* An immutable Cartesian4 instance initialized to (1.0, 1.0, 1.0, 1.0).
|
|
2558
|
+
*/
|
|
2559
|
+
static readonly ONE: Cartesian4;
|
|
2546
2560
|
/**
|
|
2547
2561
|
* An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0).
|
|
2548
2562
|
*/
|
|
@@ -6373,6 +6387,23 @@ export namespace EventHelper {
|
|
|
6373
6387
|
type RemoveCallback = () => void;
|
|
6374
6388
|
}
|
|
6375
6389
|
|
|
6390
|
+
/**
|
|
6391
|
+
* Flags to enable experimental features in CesiumJS. Stability and performance
|
|
6392
|
+
may not be optimal when these are enabled. Experimental features are subject
|
|
6393
|
+
to change without Cesium's standard deprecation policy.
|
|
6394
|
+
<p>
|
|
6395
|
+
Experimental features must still uphold Cesium's quality standards. Here
|
|
6396
|
+
are some guidelines:
|
|
6397
|
+
</p>
|
|
6398
|
+
<ul>
|
|
6399
|
+
<li>Experimental features must have high unit test coverage like any other feature.</li>
|
|
6400
|
+
<li>Experimental features are intended for large features where there is benefit of merging some of the code sooner (e.g. to avoid long-running staging branches)</li>
|
|
6401
|
+
<li>Experimental flags should be short-lived. Make it clear in the PR what it would take to promote the feature to a regular feature.</li>
|
|
6402
|
+
<li>To avoid cluttering the code, check the flag in as few places as possible. Ideally this would be a single place.</li>
|
|
6403
|
+
</ul>
|
|
6404
|
+
*/
|
|
6405
|
+
export var ExperimentalFeatures: any;
|
|
6406
|
+
|
|
6376
6407
|
/**
|
|
6377
6408
|
* Constants to determine how an interpolated value is extrapolated
|
|
6378
6409
|
when querying outside the bounds of available data.
|
|
@@ -18920,7 +18951,7 @@ export namespace CorridorGraphics {
|
|
|
18920
18951
|
*/
|
|
18921
18952
|
type ConstructorOptions = {
|
|
18922
18953
|
show?: Property | boolean;
|
|
18923
|
-
positions?: Property | Cartesian3;
|
|
18954
|
+
positions?: Property | Cartesian3[];
|
|
18924
18955
|
width?: Property | number;
|
|
18925
18956
|
height?: Property | number;
|
|
18926
18957
|
heightReference?: Property | HeightReference;
|
|
@@ -21107,6 +21138,7 @@ export namespace KmlDataSource {
|
|
|
21107
21138
|
* @property [clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground.
|
|
21108
21139
|
* @property [ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations.
|
|
21109
21140
|
* @property [credit] - A credit for the data source, which is displayed on the canvas.
|
|
21141
|
+
* @property [screenOverlayContainer] - A container for ScreenOverlay images.
|
|
21110
21142
|
*/
|
|
21111
21143
|
type LoadOptions = {
|
|
21112
21144
|
camera: Camera;
|
|
@@ -21115,6 +21147,7 @@ export namespace KmlDataSource {
|
|
|
21115
21147
|
clampToGround?: boolean;
|
|
21116
21148
|
ellipsoid?: Ellipsoid;
|
|
21117
21149
|
credit?: Credit | string;
|
|
21150
|
+
screenOverlayContainer?: Element | string;
|
|
21118
21151
|
};
|
|
21119
21152
|
}
|
|
21120
21153
|
|
|
@@ -21222,13 +21255,19 @@ export class KmlDataSource {
|
|
|
21222
21255
|
* @param [options.sourceUri] - Overrides the url to use for resolving relative links and other KML network features.
|
|
21223
21256
|
* @param [options.clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground. If true, lines will use corridors so use Entity.corridor instead of Entity.polyline.
|
|
21224
21257
|
* @param [options.ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations.
|
|
21258
|
+
* @param [options.screenOverlayContainer] - A container for ScreenOverlay images.
|
|
21225
21259
|
* @returns A promise that will resolve to this instances once the KML is loaded.
|
|
21226
21260
|
*/
|
|
21227
21261
|
load(data: Resource | string | Document | Blob, options?: {
|
|
21228
21262
|
sourceUri?: Resource | string;
|
|
21229
21263
|
clampToGround?: boolean;
|
|
21230
21264
|
ellipsoid?: Ellipsoid;
|
|
21265
|
+
screenOverlayContainer?: Element | string;
|
|
21231
21266
|
}): Promise<KmlDataSource>;
|
|
21267
|
+
/**
|
|
21268
|
+
* Cleans up any non-entity elements created by the data source. Currently this only affects ScreenOverlay elements.
|
|
21269
|
+
*/
|
|
21270
|
+
destroy(): void;
|
|
21232
21271
|
/**
|
|
21233
21272
|
* Updates any NetworkLink that require updating.
|
|
21234
21273
|
* @param time - The simulation time.
|
|
@@ -26736,7 +26775,7 @@ modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to r
|
|
|
26736
26775
|
</p>
|
|
26737
26776
|
<p>
|
|
26738
26777
|
Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature}
|
|
26739
|
-
or picking using {@link Scene#pick}
|
|
26778
|
+
or picking using {@link Scene#pick}.
|
|
26740
26779
|
</p>
|
|
26741
26780
|
* @example
|
|
26742
26781
|
* // On mouse over, display all the properties for a feature in the console log.
|
|
@@ -26809,6 +26848,35 @@ export class Cesium3DTileFeature {
|
|
|
26809
26848
|
* @returns The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
26810
26849
|
*/
|
|
26811
26850
|
getProperty(name: string): any;
|
|
26851
|
+
/**
|
|
26852
|
+
* Returns a copy of the feature's property with the given name, examining all
|
|
26853
|
+
the metadata from 3D Tiles 1.0 formats, the EXT_mesh_features and legacy
|
|
26854
|
+
EXT_feature_metadata glTF extensions, and the 3DTILES_metadata 3D Tiles
|
|
26855
|
+
extension. Metadata is checked against name from most specific to most
|
|
26856
|
+
general and the first match is returned. Metadata is checked in this order:
|
|
26857
|
+
|
|
26858
|
+
<ol>
|
|
26859
|
+
<li>Batch table (feature metadata) property by semantic</li>
|
|
26860
|
+
<li>Batch table (feature metadata) property by property ID</li>
|
|
26861
|
+
<li>Tile metadata property by semantic</li>
|
|
26862
|
+
<li>Tile metadata property by property ID</li>
|
|
26863
|
+
<li>Group metadata property by semantic</li>
|
|
26864
|
+
<li>Group metadata property by property ID</li>
|
|
26865
|
+
<li>Tileset metadata property by semantic</li>
|
|
26866
|
+
<li>Tileset metadata property by property ID</li>
|
|
26867
|
+
<li>Otherwise, return undefined</li>
|
|
26868
|
+
</ol>
|
|
26869
|
+
<p>
|
|
26870
|
+
For 3D Tiles Next details, see the {@link https://github.com/CesiumGS/3d-tiles/tree/3d-tiles-next/extensions/3DTILES_metadata|3DTILES_metadata Extension}
|
|
26871
|
+
for 3D Tiles, as well as the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features|EXT_mesh_features Extension}
|
|
26872
|
+
for glTF. For the legacy glTF extension, see {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_feature_metadata|EXT_feature_metadata Extension}
|
|
26873
|
+
</p>
|
|
26874
|
+
* @param content - The content for accessing the metadata
|
|
26875
|
+
* @param batchId - The batch ID (or feature ID) of the feature to get a property for
|
|
26876
|
+
* @param name - The semantic or property ID of the feature. Semantics are checked before property IDs in each granularity of metadata.
|
|
26877
|
+
* @returns The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
26878
|
+
*/
|
|
26879
|
+
static getPropertyInherited(content: Cesium3DTileContent, batchId: number, name: string): any;
|
|
26812
26880
|
/**
|
|
26813
26881
|
* Sets the value of the feature's property with the given name.
|
|
26814
26882
|
<p>
|
|
@@ -27719,6 +27787,15 @@ export class Cesium3DTileset {
|
|
|
27719
27787
|
});
|
|
27720
27788
|
*/
|
|
27721
27789
|
style: Cesium3DTileStyle | undefined;
|
|
27790
|
+
/**
|
|
27791
|
+
* A custom shader to apply to all tiles in the tileset. Only used for
|
|
27792
|
+
contents that use {@link ModelExperimental}. Using custom shaders with a
|
|
27793
|
+
{@link Cesium3DTileStyle} may lead to undefined behavior.
|
|
27794
|
+
<p>
|
|
27795
|
+
To enable {@link ModelExperimental}, set {@link ExperimentalFeatures.enableModelExperimental} to <code>true</code>.
|
|
27796
|
+
</p>
|
|
27797
|
+
*/
|
|
27798
|
+
customShader: CustomShader | undefined;
|
|
27722
27799
|
/**
|
|
27723
27800
|
* The maximum screen space error used to drive level of detail refinement. This value helps determine when a tile
|
|
27724
27801
|
refines to its descendants, and therefore plays a major role in balancing performance with visual quality.
|
|
@@ -28990,6 +29067,200 @@ export class ClippingPlaneCollection {
|
|
|
28990
29067
|
destroy(): void;
|
|
28991
29068
|
}
|
|
28992
29069
|
|
|
29070
|
+
/**
|
|
29071
|
+
* A renderable collection of clouds in the 3D scene.
|
|
29072
|
+
<br /><br />
|
|
29073
|
+
<div align='center'>
|
|
29074
|
+
<img src='Images/CumulusCloud.png' width='400' height='300' /><br />
|
|
29075
|
+
Example cumulus clouds
|
|
29076
|
+
</div>
|
|
29077
|
+
<br /><br />
|
|
29078
|
+
Clouds are added and removed from the collection using {@link CloudCollection#add}
|
|
29079
|
+
and {@link CloudCollection#remove}.
|
|
29080
|
+
* @example
|
|
29081
|
+
* // Create a cloud collection with two cumulus clouds
|
|
29082
|
+
var clouds = scene.primitives.add(new Cesium.CloudCollection());
|
|
29083
|
+
clouds.add({
|
|
29084
|
+
position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
|
|
29085
|
+
maximumSize: new Cesium.Cartesian3(20.0, 12.0, 8.0)
|
|
29086
|
+
});
|
|
29087
|
+
clouds.add({
|
|
29088
|
+
position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
|
|
29089
|
+
maximumSize: new Cesium.Cartesian3(15.0, 9.0, 9.0),
|
|
29090
|
+
slice: 0.5
|
|
29091
|
+
});
|
|
29092
|
+
* @param [options] - Object with the following properties:
|
|
29093
|
+
* @param [options.show = true] - Whether to display the clouds.
|
|
29094
|
+
* @param [options.noiseDetail = 16.0] - Desired amount of detail in the noise texture.
|
|
29095
|
+
* @param [options.noiseOffset = Cartesian3.ZERO] - Desired translation of data in noise texture.
|
|
29096
|
+
* @param [options.debugBillboards = false] - For debugging only. Determines if the billboards are rendered with an opaque color.
|
|
29097
|
+
* @param [options.debugEllipsoids = false] - For debugging only. Determines if the clouds will be rendered as opaque ellipsoids.
|
|
29098
|
+
*/
|
|
29099
|
+
export class CloudCollection {
|
|
29100
|
+
constructor(options?: {
|
|
29101
|
+
show?: boolean;
|
|
29102
|
+
noiseDetail?: number;
|
|
29103
|
+
noiseOffset?: number;
|
|
29104
|
+
debugBillboards?: boolean;
|
|
29105
|
+
debugEllipsoids?: boolean;
|
|
29106
|
+
});
|
|
29107
|
+
/**
|
|
29108
|
+
* <p>
|
|
29109
|
+
Controls the amount of detail captured in the precomputed noise texture
|
|
29110
|
+
used to render the cumulus clouds. In order for the texture to be tileable,
|
|
29111
|
+
this must be a power of two. For best results, set this to be a power of two
|
|
29112
|
+
between <code>8.0</code> and <code>32.0</code> (inclusive).
|
|
29113
|
+
</p>
|
|
29114
|
+
|
|
29115
|
+
<div align='center'>
|
|
29116
|
+
<table border='0' cellpadding='5'><tr>
|
|
29117
|
+
<td align='center'>
|
|
29118
|
+
<code>clouds.noiseDetail = 8.0;</code><br/>
|
|
29119
|
+
<img src='Images/CloudCollection.noiseDetail8.png' width='250' height='158' />
|
|
29120
|
+
</td>
|
|
29121
|
+
<td align='center'>
|
|
29122
|
+
<code>clouds.noiseDetail = 32.0;</code><br/>
|
|
29123
|
+
<img src='Images/CloudCollection.noiseDetail32.png' width='250' height='158' />
|
|
29124
|
+
</td>
|
|
29125
|
+
</tr></table>
|
|
29126
|
+
</div>
|
|
29127
|
+
*/
|
|
29128
|
+
noiseDetail: number;
|
|
29129
|
+
/**
|
|
29130
|
+
* <p>
|
|
29131
|
+
Applies a translation to noise texture coordinates to generate different data.
|
|
29132
|
+
This can be modified if the default noise does not generate good-looking clouds.
|
|
29133
|
+
</p>
|
|
29134
|
+
|
|
29135
|
+
<div align='center'>
|
|
29136
|
+
<table border='0' cellpadding='5'><tr>
|
|
29137
|
+
<td align='center'>
|
|
29138
|
+
<code>default</code><br/>
|
|
29139
|
+
<img src='Images/CloudCollection.noiseOffsetdefault.png' width='250' height='158' />
|
|
29140
|
+
</td>
|
|
29141
|
+
<td align='center'>
|
|
29142
|
+
<code>clouds.noiseOffset = new Cesium.Cartesian3(10, 20, 10);</code><br/>
|
|
29143
|
+
<img src='Images/CloudCollection.noiseOffsetx10y20z10.png' width='250' height='158' />
|
|
29144
|
+
</td>
|
|
29145
|
+
</tr></table>
|
|
29146
|
+
</div>
|
|
29147
|
+
*/
|
|
29148
|
+
noiseOffset: Cartesian3;
|
|
29149
|
+
/**
|
|
29150
|
+
* Determines if billboards in this collection will be shown.
|
|
29151
|
+
*/
|
|
29152
|
+
show: boolean;
|
|
29153
|
+
/**
|
|
29154
|
+
* This property is for debugging only; it is not for production use nor is it optimized.
|
|
29155
|
+
<p>
|
|
29156
|
+
Renders the billboards with one opaque color for the sake of debugging.
|
|
29157
|
+
</p>
|
|
29158
|
+
*/
|
|
29159
|
+
debugBillboards: boolean;
|
|
29160
|
+
/**
|
|
29161
|
+
* This property is for debugging only; it is not for production use nor is it optimized.
|
|
29162
|
+
<p>
|
|
29163
|
+
Draws the clouds as opaque, monochrome ellipsoids for the sake of debugging.
|
|
29164
|
+
If <code>debugBillboards</code> is also true, then the ellipsoids will draw on top of the billboards.
|
|
29165
|
+
</p>
|
|
29166
|
+
*/
|
|
29167
|
+
debugEllipsoids: boolean;
|
|
29168
|
+
/**
|
|
29169
|
+
* Returns the number of clouds in this collection.
|
|
29170
|
+
*/
|
|
29171
|
+
length: number;
|
|
29172
|
+
/**
|
|
29173
|
+
* Creates and adds a cloud with the specified initial properties to the collection.
|
|
29174
|
+
The added cloud is returned so it can be modified or removed from the collection later.
|
|
29175
|
+
* @example
|
|
29176
|
+
* // Example 1: Add a cumulus cloud, specifying all the default values.
|
|
29177
|
+
var c = clouds.add({
|
|
29178
|
+
show : true,
|
|
29179
|
+
position : Cesium.Cartesian3.ZERO,
|
|
29180
|
+
scale : new Cesium.Cartesian2(20.0, 12.0),
|
|
29181
|
+
maximumSize: new Cesium.Cartesian3(20.0, 12.0, 12.0),
|
|
29182
|
+
slice: -1.0,
|
|
29183
|
+
cloudType : CloudType.CUMULUS
|
|
29184
|
+
});
|
|
29185
|
+
* @example
|
|
29186
|
+
* // Example 2: Specify only the cloud's cartographic position.
|
|
29187
|
+
var c = clouds.add({
|
|
29188
|
+
position : Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
|
|
29189
|
+
});
|
|
29190
|
+
* @param [options] - A template describing the cloud's properties as shown in Example 1.
|
|
29191
|
+
* @returns The cloud that was added to the collection.
|
|
29192
|
+
*/
|
|
29193
|
+
add(options?: any): CumulusCloud;
|
|
29194
|
+
/**
|
|
29195
|
+
* Removes a cloud from the collection.
|
|
29196
|
+
* @example
|
|
29197
|
+
* var c = clouds.add(...);
|
|
29198
|
+
clouds.remove(c); // Returns true
|
|
29199
|
+
* @param cloud - The cloud to remove.
|
|
29200
|
+
* @returns <code>true</code> if the cloud was removed; <code>false</code> if the cloud was not found in the collection.
|
|
29201
|
+
*/
|
|
29202
|
+
remove(cloud: CumulusCloud): boolean;
|
|
29203
|
+
/**
|
|
29204
|
+
* Removes all clouds from the collection.
|
|
29205
|
+
* @example
|
|
29206
|
+
* clouds.add(...);
|
|
29207
|
+
clouds.add(...);
|
|
29208
|
+
clouds.removeAll();
|
|
29209
|
+
*/
|
|
29210
|
+
removeAll(): void;
|
|
29211
|
+
/**
|
|
29212
|
+
* Check whether this collection contains a given cloud.
|
|
29213
|
+
* @param [cloud] - The cloud to check for.
|
|
29214
|
+
* @returns true if this collection contains the cloud, false otherwise.
|
|
29215
|
+
*/
|
|
29216
|
+
contains(cloud?: CumulusCloud): boolean;
|
|
29217
|
+
/**
|
|
29218
|
+
* Returns the cloud in the collection at the specified index. Indices are zero-based
|
|
29219
|
+
and increase as clouds are added. Removing a cloud shifts all clouds after
|
|
29220
|
+
it to the left, changing their indices. This function is commonly used with
|
|
29221
|
+
{@link CloudCollection#length} to iterate over all the clouds in the collection.
|
|
29222
|
+
* @example
|
|
29223
|
+
* // Toggle the show property of every cloud in the collection
|
|
29224
|
+
var len = clouds.length;
|
|
29225
|
+
for (var i = 0; i < len; ++i) {
|
|
29226
|
+
var c = clouds.get(i);
|
|
29227
|
+
c.show = !c.show;
|
|
29228
|
+
}
|
|
29229
|
+
* @param index - The zero-based index of the cloud.
|
|
29230
|
+
* @returns The cloud at the specified index.
|
|
29231
|
+
*/
|
|
29232
|
+
get(index: number): CumulusCloud;
|
|
29233
|
+
/**
|
|
29234
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
29235
|
+
<br /><br />
|
|
29236
|
+
If this object was destroyed, it should not be used; calling any function other than
|
|
29237
|
+
<code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
29238
|
+
* @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
|
|
29239
|
+
*/
|
|
29240
|
+
isDestroyed(): boolean;
|
|
29241
|
+
/**
|
|
29242
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
29243
|
+
release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
29244
|
+
<br /><br />
|
|
29245
|
+
Once an object is destroyed, it should not be used; calling any function other than
|
|
29246
|
+
<code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
29247
|
+
assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
29248
|
+
* @example
|
|
29249
|
+
* clouds = clouds && clouds.destroy();
|
|
29250
|
+
*/
|
|
29251
|
+
destroy(): void;
|
|
29252
|
+
}
|
|
29253
|
+
|
|
29254
|
+
/**
|
|
29255
|
+
* Specifies the type of the cloud that is added to a {@link CloudCollection} in {@link CloudCollection#add}.
|
|
29256
|
+
*/
|
|
29257
|
+
export enum CloudType {
|
|
29258
|
+
/**
|
|
29259
|
+
* Cumulus cloud.
|
|
29260
|
+
*/
|
|
29261
|
+
CUMULUS = 0
|
|
29262
|
+
}
|
|
29263
|
+
|
|
28993
29264
|
/**
|
|
28994
29265
|
* Defines different modes for blending between a target color and a primitive's source color.
|
|
28995
29266
|
|
|
@@ -29286,6 +29557,144 @@ export enum CullFace {
|
|
|
29286
29557
|
FRONT_AND_BACK = WebGLConstants.FRONT_AND_BACK
|
|
29287
29558
|
}
|
|
29288
29559
|
|
|
29560
|
+
/**
|
|
29561
|
+
* A cumulus cloud billboard positioned in the 3D scene, that is created and rendered using a {@link CloudCollection}.
|
|
29562
|
+
A cloud is created and its initial properties are set by calling {@link CloudCollection#add}.
|
|
29563
|
+
and {@link CloudCollection#remove}.
|
|
29564
|
+
<br /><br />
|
|
29565
|
+
<div align='center'>
|
|
29566
|
+
<img src='Images/CumulusCloud.png' width='400' height='300' /><br />
|
|
29567
|
+
Example cumulus clouds
|
|
29568
|
+
</div>
|
|
29569
|
+
*/
|
|
29570
|
+
export class CumulusCloud {
|
|
29571
|
+
constructor();
|
|
29572
|
+
/**
|
|
29573
|
+
* Determines if this cumulus cloud will be shown. Use this to hide or show a cloud, instead
|
|
29574
|
+
of removing it and re-adding it to the collection.
|
|
29575
|
+
*/
|
|
29576
|
+
show: boolean;
|
|
29577
|
+
/**
|
|
29578
|
+
* Gets or sets the Cartesian position of this cumulus cloud.
|
|
29579
|
+
*/
|
|
29580
|
+
position: Cartesian3;
|
|
29581
|
+
/**
|
|
29582
|
+
* <p>Gets or sets the scale of the cumulus cloud billboard in meters.
|
|
29583
|
+
The <code>scale</code> property will affect the size of the billboard,
|
|
29584
|
+
but not the cloud's actual appearance.</p>
|
|
29585
|
+
<div align='center'>
|
|
29586
|
+
<table border='0' cellpadding='5'><tr>
|
|
29587
|
+
<td align='center'>
|
|
29588
|
+
<code>cloud.scale = new Cesium.Cartesian2(12, 8);</code><br/>
|
|
29589
|
+
<img src='Images/CumulusCloud.scalex12y8.png' width='250' height='158' />
|
|
29590
|
+
</td>
|
|
29591
|
+
<td align='center'>
|
|
29592
|
+
<code>cloud.scale = new Cesium.Cartesian2(24, 10);</code><br/>
|
|
29593
|
+
<img src='Images/CumulusCloud.scalex24y10.png' width='250' height='158' />
|
|
29594
|
+
</td>
|
|
29595
|
+
</tr></table>
|
|
29596
|
+
</div>
|
|
29597
|
+
|
|
29598
|
+
<p>To modify the cloud's appearance, modify its <code>maximumSize</code>
|
|
29599
|
+
and <code>slice</code> properties.</p>
|
|
29600
|
+
*/
|
|
29601
|
+
scale: Cartesian2;
|
|
29602
|
+
/**
|
|
29603
|
+
* <p>Gets or sets the maximum size of the cumulus cloud rendered on the billboard.
|
|
29604
|
+
This defines a maximum ellipsoid volume that the cloud can appear in.
|
|
29605
|
+
Rather than guaranteeing a specific size, this specifies a boundary for the
|
|
29606
|
+
cloud to appear in, and changing it can affect the shape of the cloud.</p>
|
|
29607
|
+
<p>Changing the z-value of <code>maximumSize</code> has the most dramatic effect
|
|
29608
|
+
on the cloud's appearance because it changes the depth of the cloud, and thus the
|
|
29609
|
+
positions at which the cloud-shaping texture is sampled.</p>
|
|
29610
|
+
<div align='center'>
|
|
29611
|
+
<table border='0' cellpadding='5'>
|
|
29612
|
+
<tr>
|
|
29613
|
+
<td align='center'>
|
|
29614
|
+
<code>cloud.maximumSize = new Cesium.Cartesian3(14, 9, 10);</code><br/>
|
|
29615
|
+
<img src='Images/CumulusCloud.maximumSizex14y9z10.png' width='250' height='158' />
|
|
29616
|
+
</td>
|
|
29617
|
+
<td align='center'>
|
|
29618
|
+
<code>cloud.maximumSize.x = 25;</code><br/>
|
|
29619
|
+
<img src='Images/CumulusCloud.maximumSizex25.png' width='250' height='158' />
|
|
29620
|
+
</td>
|
|
29621
|
+
</tr>
|
|
29622
|
+
<tr>
|
|
29623
|
+
<td align='center'>
|
|
29624
|
+
<code>cloud.maximumSize.y = 5;</code><br/>
|
|
29625
|
+
<img src='Images/CumulusCloud.maximumSizey5.png' width='250' height='158' />
|
|
29626
|
+
</td>
|
|
29627
|
+
<td align='center'>
|
|
29628
|
+
<code>cloud.maximumSize.z = 17;</code><br/>
|
|
29629
|
+
<img src='Images/CumulusCloud.maximumSizez17.png' width='250' height='158' />
|
|
29630
|
+
</td>
|
|
29631
|
+
</tr>
|
|
29632
|
+
</table>
|
|
29633
|
+
</div>
|
|
29634
|
+
|
|
29635
|
+
<p>To modify the billboard's actual size, modify the cloud's <code>scale</code> property.</p>
|
|
29636
|
+
*/
|
|
29637
|
+
maximumSize: Cartesian3;
|
|
29638
|
+
/**
|
|
29639
|
+
* <p>Gets or sets the "slice" of the cloud that is rendered on the billboard, i.e.
|
|
29640
|
+
the specific cross-section of the cloud chosen for the billboard's appearance.
|
|
29641
|
+
Given a value between 0 and 1, the slice specifies how deeply into the cloud
|
|
29642
|
+
to intersect based on its maximum size in the z-direction.</p>
|
|
29643
|
+
<div align='center'>
|
|
29644
|
+
<table border='0' cellpadding='5'><tr>
|
|
29645
|
+
<td align='center'><code>cloud.slice = 0.32;</code><br/><img src='Images/CumulusCloud.slice0.32.png' width='250' height='158' /></td>
|
|
29646
|
+
<td align='center'><code>cloud.slice = 0.5;</code><br/><img src='Images/CumulusCloud.slice0.5.png' width='250' height='158' /></td>
|
|
29647
|
+
<td align='center'><code>cloud.slice = 0.6;</code><br/><img src='Images/CumulusCloud.slice0.6.png' width='250' height='158' /></td>
|
|
29648
|
+
</tr></table>
|
|
29649
|
+
</div>
|
|
29650
|
+
|
|
29651
|
+
<br />
|
|
29652
|
+
<p>Due to the nature in which this slice is calculated,
|
|
29653
|
+
values below <code>0.2</code> may result in cross-sections that are too small,
|
|
29654
|
+
and the edge of the ellipsoid will be visible. Similarly, values above <code>0.7</code>
|
|
29655
|
+
will cause the cloud to appear smaller. Values outside the range <code>[0.1, 0.9]</code>
|
|
29656
|
+
should be avoided entirely because they do not produce desirable results.</p>
|
|
29657
|
+
|
|
29658
|
+
<div align='center'>
|
|
29659
|
+
<table border='0' cellpadding='5'><tr>
|
|
29660
|
+
<td align='center'><code>cloud.slice = 0.08;</code><br/><img src='Images/CumulusCloud.slice0.08.png' width='250' height='158' /></td>
|
|
29661
|
+
<td align='center'><code>cloud.slice = 0.8;</code><br/><img src='Images/CumulusCloud.slice0.8.png' width='250' height='158' /></td>
|
|
29662
|
+
</tr></table>
|
|
29663
|
+
</div>
|
|
29664
|
+
|
|
29665
|
+
<p>If <code>slice</code> is set to a negative number, the cloud will not render a cross-section.
|
|
29666
|
+
Instead, it will render the outside of the ellipsoid that is visible. For clouds with
|
|
29667
|
+
small values of `maximumSize.z`, this can produce good-looking results, but for larger
|
|
29668
|
+
clouds, this can result in a cloud that is undesirably warped to the ellipsoid volume.</p>
|
|
29669
|
+
|
|
29670
|
+
<div align='center'>
|
|
29671
|
+
<table border='0' cellpadding='5'><tr>
|
|
29672
|
+
<td align='center'>
|
|
29673
|
+
<code>cloud.slice = -1.0;<br/>cloud.maximumSize.z = 18;</code><br/>
|
|
29674
|
+
<img src='Images/CumulusCloud.slice-1z18.png' width='250' height='158' />
|
|
29675
|
+
</td>
|
|
29676
|
+
<td align='center'>
|
|
29677
|
+
<code>cloud.slice = -1.0;<br/>cloud.maximumSize.z = 30;</code><br/>
|
|
29678
|
+
<img src='Images/CumulusCloud.slice-1z30.png' width='250' height='158' /></td>
|
|
29679
|
+
</tr></table>
|
|
29680
|
+
</div>
|
|
29681
|
+
*/
|
|
29682
|
+
slice: number;
|
|
29683
|
+
/**
|
|
29684
|
+
* Gets or sets the brightness of the cloud. This can be used to give clouds
|
|
29685
|
+
a darker, grayer appearance.
|
|
29686
|
+
<br /><br />
|
|
29687
|
+
<div align='center'>
|
|
29688
|
+
<table border='0' cellpadding='5'><tr>
|
|
29689
|
+
<td align='center'><code>cloud.brightness = 1.0;</code><br/><img src='Images/CumulusCloud.brightness1.png' width='250' height='158' /></td>
|
|
29690
|
+
<td align='center'><code>cloud.brightness = 0.6;</code><br/><img src='Images/CumulusCloud.brightness0.6.png' width='250' height='158' /></td>
|
|
29691
|
+
<td align='center'><code>cloud.brightness = 0.0;</code><br/><img src='Images/CumulusCloud.brightness0.png' width='250' height='158' /></td>
|
|
29692
|
+
</tr></table>
|
|
29693
|
+
</div>
|
|
29694
|
+
*/
|
|
29695
|
+
brightness: number;
|
|
29696
|
+
}
|
|
29697
|
+
|
|
29289
29698
|
/**
|
|
29290
29699
|
* Visualizes a vertex attribute by displaying it as a color for debugging.
|
|
29291
29700
|
<p>
|
|
@@ -32743,7 +33152,7 @@ export enum LabelStyle {
|
|
|
32743
33152
|
}
|
|
32744
33153
|
|
|
32745
33154
|
/**
|
|
32746
|
-
* A light source. This type describes an interface and is not intended to be instantiated directly.
|
|
33155
|
+
* A light source. This type describes an interface and is not intended to be instantiated directly. Together, <code>color</code> and <code>intensity</code> produce a high-dynamic-range light color. <code>intensity</code> can also be used individually to dim or brighten the light without changing the hue.
|
|
32747
33156
|
*/
|
|
32748
33157
|
export class Light {
|
|
32749
33158
|
constructor();
|
|
@@ -32752,7 +33161,7 @@ export class Light {
|
|
|
32752
33161
|
*/
|
|
32753
33162
|
color: Color;
|
|
32754
33163
|
/**
|
|
32755
|
-
* The intensity of the light.
|
|
33164
|
+
* The intensity controls the strength of the light. <code>intensity</code> has a minimum value of 0.0 and no maximum value.
|
|
32756
33165
|
*/
|
|
32757
33166
|
intensity: number;
|
|
32758
33167
|
}
|
|
@@ -34532,6 +34941,606 @@ export enum ModelAnimationLoop {
|
|
|
34532
34941
|
MIRRORED_REPEAT = 2
|
|
34533
34942
|
}
|
|
34534
34943
|
|
|
34944
|
+
/**
|
|
34945
|
+
* An object describing a uniform, its type, and an initial value
|
|
34946
|
+
* @property type - The Glsl type of the uniform.
|
|
34947
|
+
* @property value - The initial value of the uniform
|
|
34948
|
+
*/
|
|
34949
|
+
export type UniformSpecifier = {
|
|
34950
|
+
type: UniformType;
|
|
34951
|
+
value: boolean | number | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | TextureUniform;
|
|
34952
|
+
};
|
|
34953
|
+
|
|
34954
|
+
/**
|
|
34955
|
+
* A user defined GLSL shader used with {@link ModelExperimental} as well
|
|
34956
|
+
as {@link Cesium3DTileset}.
|
|
34957
|
+
<p>
|
|
34958
|
+
If texture uniforms are used, additional resource management must be done:
|
|
34959
|
+
</p>
|
|
34960
|
+
<ul>
|
|
34961
|
+
<li>
|
|
34962
|
+
The <code>update</code> function must be called each frame. When a
|
|
34963
|
+
custom shader is passed to a {@link ModelExperimental} or a
|
|
34964
|
+
{@link Cesium3DTileset}, this step is handled automaticaly
|
|
34965
|
+
</li>
|
|
34966
|
+
<li>
|
|
34967
|
+
{@link CustomShader#destroy} must be called when the custom shader is
|
|
34968
|
+
no longer needed to clean up GPU resources properly. The application
|
|
34969
|
+
is responsible for calling this method.
|
|
34970
|
+
</li>
|
|
34971
|
+
</ul>
|
|
34972
|
+
<p>
|
|
34973
|
+
To enable the use of {@link ModelExperimental} in {@link Cesium3DTileset}, set {@link ExperimentalFeatures.enableModelExperimental} to <code>true</code>.
|
|
34974
|
+
</p>
|
|
34975
|
+
* @example
|
|
34976
|
+
* var customShader = new CustomShader({
|
|
34977
|
+
uniforms: {
|
|
34978
|
+
u_colorIndex: {
|
|
34979
|
+
type: Cesium.UniformType.FLOAT,
|
|
34980
|
+
value: 1.0
|
|
34981
|
+
},
|
|
34982
|
+
u_normalMap: {
|
|
34983
|
+
type: Cesium.UniformType.SAMPLER_2D,
|
|
34984
|
+
value: new Cesium.TextureUniform({
|
|
34985
|
+
url: "http://example.com/normal.png"
|
|
34986
|
+
})
|
|
34987
|
+
}
|
|
34988
|
+
},
|
|
34989
|
+
varyings: {
|
|
34990
|
+
v_selectedColor: Cesium.VaryingType.VEC3
|
|
34991
|
+
},
|
|
34992
|
+
vertexShaderText: `
|
|
34993
|
+
void vertexMain(VertexInput vsInput, inout vec3 position) {
|
|
34994
|
+
v_selectedColor = mix(vsInput.attributes.color_0, vsInput.attributes.color_1, u_colorIndex);
|
|
34995
|
+
position += 0.1 * vsInput.attributes.normal;
|
|
34996
|
+
}
|
|
34997
|
+
`,
|
|
34998
|
+
fragmentShaderText: `
|
|
34999
|
+
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
|
|
35000
|
+
material.normal = texture2D(u_normalMap, fsInput.attributes.texCoord_0);
|
|
35001
|
+
material.diffuse = v_selectedColor;
|
|
35002
|
+
}
|
|
35003
|
+
`
|
|
35004
|
+
});
|
|
35005
|
+
* @param options - An object with the following options
|
|
35006
|
+
* @param [options.mode = CustomShaderMode.MODIFY_MATERIAL] - The custom shader mode, which determines how the custom shader code is inserted into the fragment shader.
|
|
35007
|
+
* @param [options.lightingModel] - The lighting model (e.g. PBR or unlit). If present, this overrides the default lighting for the model.
|
|
35008
|
+
* @param [options.isTranslucent = false] - If set, the model will be rendered as translucent. This overrides the default settings for the model.
|
|
35009
|
+
* @param [options.uniforms] - A dictionary for user-defined uniforms. The key is the uniform name that will appear in the GLSL code. The value is an object that describes the uniform type and initial value
|
|
35010
|
+
* @param [options.varyings] - A dictionary for declaring additional GLSL varyings used in the shader. The key is the varying name that will appear in the GLSL code. The value is the data type of the varying. For each varying, the declaration will be added to the top of the shader automatically. The caller is responsible for assigning a value in the vertex shader and using the value in the fragment shader.
|
|
35011
|
+
* @param [options.vertexShaderText] - The custom vertex shader as a string of GLSL code. It must include a GLSL function called vertexMain. See the example for the expected signature. If not specified, the custom vertex shader step will be skipped in the computed vertex shader.
|
|
35012
|
+
* @param [options.fragmentShaderText] - The custom fragment shader as a string of GLSL code. It must include a GLSL function called fragmentMain. See the example for the expected signature. If not specified, the custom fragment shader step will be skipped in the computed fragment shader.
|
|
35013
|
+
*/
|
|
35014
|
+
export class CustomShader {
|
|
35015
|
+
constructor(options: {
|
|
35016
|
+
mode?: CustomShaderMode;
|
|
35017
|
+
lightingModel?: LightingModel;
|
|
35018
|
+
isTranslucent?: boolean;
|
|
35019
|
+
uniforms?: {
|
|
35020
|
+
[key: string]: UniformSpecifier;
|
|
35021
|
+
};
|
|
35022
|
+
varyings?: {
|
|
35023
|
+
[key: string]: VaryingType;
|
|
35024
|
+
};
|
|
35025
|
+
vertexShaderText?: string;
|
|
35026
|
+
fragmentShaderText?: string;
|
|
35027
|
+
});
|
|
35028
|
+
/**
|
|
35029
|
+
* Update the value of a uniform declared in the shader
|
|
35030
|
+
* @param uniformName - The GLSL name of the uniform. This must match one of the uniforms declared in the constructor
|
|
35031
|
+
* @param value - The new value of the uniform.
|
|
35032
|
+
*/
|
|
35033
|
+
setUniform(uniformName: string, value: boolean | number | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | string | Resource): void;
|
|
35034
|
+
}
|
|
35035
|
+
|
|
35036
|
+
/**
|
|
35037
|
+
* A value determining how the custom shader interacts with the overall
|
|
35038
|
+
fragment shader. This is used by {@link CustomShaderPipelineStage}
|
|
35039
|
+
*/
|
|
35040
|
+
export const mode: CustomShaderMode;
|
|
35041
|
+
|
|
35042
|
+
/**
|
|
35043
|
+
* The lighting model to use when using the custom shader.
|
|
35044
|
+
This is used by {@link CustomShaderPipelineStage}
|
|
35045
|
+
*/
|
|
35046
|
+
export const lightingModel: LightingModel;
|
|
35047
|
+
|
|
35048
|
+
/**
|
|
35049
|
+
* Additional uniforms as declared by the user.
|
|
35050
|
+
*/
|
|
35051
|
+
export const uniforms: {
|
|
35052
|
+
[key: string]: UniformSpecifier;
|
|
35053
|
+
};
|
|
35054
|
+
|
|
35055
|
+
/**
|
|
35056
|
+
* Additional varyings as declared by the user.
|
|
35057
|
+
This is used by {@link CustomShaderPipelineStage}
|
|
35058
|
+
*/
|
|
35059
|
+
export const varyings: {
|
|
35060
|
+
[key: string]: VaryingType;
|
|
35061
|
+
};
|
|
35062
|
+
|
|
35063
|
+
/**
|
|
35064
|
+
* The user-defined GLSL code for the vertex shader
|
|
35065
|
+
*/
|
|
35066
|
+
export const vertexShaderText: string;
|
|
35067
|
+
|
|
35068
|
+
/**
|
|
35069
|
+
* The user-defined GLSL code for the fragment shader
|
|
35070
|
+
*/
|
|
35071
|
+
export const fragmentShaderText: string;
|
|
35072
|
+
|
|
35073
|
+
/**
|
|
35074
|
+
* Whether the shader should be rendered as translucent
|
|
35075
|
+
*/
|
|
35076
|
+
export const isTranslucent: boolean;
|
|
35077
|
+
|
|
35078
|
+
/**
|
|
35079
|
+
* An enum describing how the {@link CustomShader} will be added to the
|
|
35080
|
+
fragment shader. This determines how the shader interacts with the material.
|
|
35081
|
+
*/
|
|
35082
|
+
export enum CustomShaderMode {
|
|
35083
|
+
/**
|
|
35084
|
+
* The custom shader will be used to modify the results of the material stage
|
|
35085
|
+
before lighting is applied.
|
|
35086
|
+
*/
|
|
35087
|
+
MODIFY_MATERIAL = "MODIFY_MATERIAL",
|
|
35088
|
+
/**
|
|
35089
|
+
* The custom shader will be used instead of the material stage. This is a hint
|
|
35090
|
+
to optimize out the material processing code.
|
|
35091
|
+
*/
|
|
35092
|
+
REPLACE_MATERIAL = "REPLACE_MATERIAL"
|
|
35093
|
+
}
|
|
35094
|
+
|
|
35095
|
+
/**
|
|
35096
|
+
* The lighting model to use for lighting a {@link ModelExperimental}.
|
|
35097
|
+
*/
|
|
35098
|
+
export enum LightingModel {
|
|
35099
|
+
/**
|
|
35100
|
+
* Use unlit shading, i.e. skip lighting calculations. The model's
|
|
35101
|
+
diffuse color (assumed to be linear RGB, not sRGB) is used directly
|
|
35102
|
+
when computing <code>gl_FragColor</code>. The alpha mode is still
|
|
35103
|
+
applied.
|
|
35104
|
+
*/
|
|
35105
|
+
UNLIT = 0,
|
|
35106
|
+
/**
|
|
35107
|
+
* Use physically-based rendering lighting calculations. This includes
|
|
35108
|
+
both PBR metallic roughness and PBR specular glossiness. Image-based
|
|
35109
|
+
lighting is also applied when possible.
|
|
35110
|
+
*/
|
|
35111
|
+
PBR = 1
|
|
35112
|
+
}
|
|
35113
|
+
|
|
35114
|
+
/**
|
|
35115
|
+
* A 3D model. This is a new architecture that is more decoupled than the older {@link Model}. This class is still experimental.
|
|
35116
|
+
<p>
|
|
35117
|
+
Do not call this function directly, instead use the `from` functions to create
|
|
35118
|
+
the Model from your source data type.
|
|
35119
|
+
</p>
|
|
35120
|
+
* @param options - Object with the following properties:
|
|
35121
|
+
* @param options.resource - The Resource to the 3D model.
|
|
35122
|
+
* @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
|
|
35123
|
+
* @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
|
|
35124
|
+
* @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
|
|
35125
|
+
* @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
|
|
35126
|
+
* @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
|
|
35127
|
+
* @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
|
|
35128
|
+
* @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
|
|
35129
|
+
* @param [options.show = true] - Whether or not to render the model.
|
|
35130
|
+
* @param [options.color] - A color that blends with the model's rendered color.
|
|
35131
|
+
* @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
|
|
35132
|
+
* @param [options.colorBlendAmount = 0.5] - Value used to determine 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.
|
|
35133
|
+
* @param [options.featureIdAttributeIndex = 0] - The index of the feature ID attribute to use for picking features per-instance or per-primitive.
|
|
35134
|
+
* @param [options.featureIdTextureIndex = 0] - The index of the feature ID texture to use for picking features per-primitive.
|
|
35135
|
+
*/
|
|
35136
|
+
export class ModelExperimental {
|
|
35137
|
+
constructor(options: {
|
|
35138
|
+
resource: Resource;
|
|
35139
|
+
modelMatrix?: Matrix4;
|
|
35140
|
+
debugShowBoundingVolume?: boolean;
|
|
35141
|
+
cull?: boolean;
|
|
35142
|
+
opaquePass?: boolean;
|
|
35143
|
+
allowPicking?: boolean;
|
|
35144
|
+
customShader?: CustomShader;
|
|
35145
|
+
content?: Cesium3DTileContent;
|
|
35146
|
+
show?: boolean;
|
|
35147
|
+
color?: Color;
|
|
35148
|
+
colorBlendMode?: ColorBlendMode;
|
|
35149
|
+
colorBlendAmount?: number;
|
|
35150
|
+
featureIdAttributeIndex?: number;
|
|
35151
|
+
featureIdTextureIndex?: number;
|
|
35152
|
+
});
|
|
35153
|
+
/**
|
|
35154
|
+
* When <code>true</code>, this model is ready to render, i.e., the external binary, image,
|
|
35155
|
+
and shader files were downloaded and the WebGL resources were created. This is set to
|
|
35156
|
+
<code>true</code> right before {@link ModelExperimental#readyPromise} is resolved.
|
|
35157
|
+
*/
|
|
35158
|
+
readonly ready: boolean;
|
|
35159
|
+
/**
|
|
35160
|
+
* Gets the promise that will be resolved when this model is ready to render, i.e. when the external resources
|
|
35161
|
+
have been downloaded and the WebGL resources are created.
|
|
35162
|
+
<p>
|
|
35163
|
+
This promise is resolved at the end of the frame before the first frame the model is rendered in.
|
|
35164
|
+
</p>
|
|
35165
|
+
*/
|
|
35166
|
+
readonly readyPromise: Promise<ModelExperimental>;
|
|
35167
|
+
/**
|
|
35168
|
+
* The model's custom shader, if it exists. Using custom shaders with a {@link Cesium3DTileStyle}
|
|
35169
|
+
may lead to undefined behavior.
|
|
35170
|
+
*/
|
|
35171
|
+
customShader: CustomShader;
|
|
35172
|
+
/**
|
|
35173
|
+
* The color to blend with the model's rendered color.
|
|
35174
|
+
*/
|
|
35175
|
+
color: Color;
|
|
35176
|
+
/**
|
|
35177
|
+
* Defines how the color blends with the model.
|
|
35178
|
+
*/
|
|
35179
|
+
colorBlendMode: Cesium3DTileColorBlendMode | ColorBlendMode;
|
|
35180
|
+
/**
|
|
35181
|
+
* Value used to determine 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.
|
|
35182
|
+
*/
|
|
35183
|
+
colorBlendAmount: number;
|
|
35184
|
+
/**
|
|
35185
|
+
* Gets the model's bounding sphere.
|
|
35186
|
+
*/
|
|
35187
|
+
readonly boundingSphere: BoundingSphere;
|
|
35188
|
+
/**
|
|
35189
|
+
* This property is for debugging only; it is not for production use nor is it optimized.
|
|
35190
|
+
<p>
|
|
35191
|
+
Draws the bounding sphere for each draw command in the model.
|
|
35192
|
+
</p>
|
|
35193
|
+
*/
|
|
35194
|
+
debugShowBoundingVolume: boolean;
|
|
35195
|
+
/**
|
|
35196
|
+
* Whether or not to render the model.
|
|
35197
|
+
*/
|
|
35198
|
+
show: boolean;
|
|
35199
|
+
/**
|
|
35200
|
+
* The index of the feature ID attribute to use for picking features per-instance or per-primitive.
|
|
35201
|
+
*/
|
|
35202
|
+
featureIdAttributeIndex: number;
|
|
35203
|
+
/**
|
|
35204
|
+
* The index of the feature ID texture to use for picking features per-primitive.
|
|
35205
|
+
*/
|
|
35206
|
+
featureIdTextureIndex: number;
|
|
35207
|
+
/**
|
|
35208
|
+
* Called when {@link Viewer} or {@link CesiumWidget} render the scene to
|
|
35209
|
+
get the draw commands needed to render this primitive.
|
|
35210
|
+
<p>
|
|
35211
|
+
Do not call this function directly. This is documented just to
|
|
35212
|
+
list the exceptions that may be propagated when the scene is rendered:
|
|
35213
|
+
</p>
|
|
35214
|
+
*/
|
|
35215
|
+
update(): void;
|
|
35216
|
+
/**
|
|
35217
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
35218
|
+
<br /><br />
|
|
35219
|
+
If this object was destroyed, it should not be used; calling any function other than
|
|
35220
|
+
<code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
35221
|
+
* @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
|
|
35222
|
+
*/
|
|
35223
|
+
isDestroyed(): boolean;
|
|
35224
|
+
/**
|
|
35225
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
35226
|
+
release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
35227
|
+
<br /><br />
|
|
35228
|
+
Once an object is destroyed, it should not be used; calling any function other than
|
|
35229
|
+
<code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
35230
|
+
assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
35231
|
+
* @example
|
|
35232
|
+
* model = model && model.destroy();
|
|
35233
|
+
*/
|
|
35234
|
+
destroy(): void;
|
|
35235
|
+
/**
|
|
35236
|
+
* <p>
|
|
35237
|
+
Creates a model from a glTF asset. When the model is ready to render, i.e., when the external binary, image,
|
|
35238
|
+
and shader files are downloaded and the WebGL resources are created, the {@link Model#readyPromise} is resolved.
|
|
35239
|
+
</p>
|
|
35240
|
+
<p>
|
|
35241
|
+
The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension.
|
|
35242
|
+
* @param options - Object with the following properties:
|
|
35243
|
+
* @param options.gltf - A Resource/URL to a glTF/glb file, a binary glTF buffer, or a JSON object containing the glTF contents
|
|
35244
|
+
* @param [options.basePath = ''] - The base path that paths in the glTF JSON are relative to.
|
|
35245
|
+
* @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
|
|
35246
|
+
* @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded.
|
|
35247
|
+
* @param [options.releaseGltfJson = false] - When true, the glTF JSON is released once the glTF is loaded. This is is especially useful for cases like 3D Tiles, where each .gltf model is unique and caching the glTF JSON is not effective.
|
|
35248
|
+
* @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
|
|
35249
|
+
* @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
|
|
35250
|
+
* @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
|
|
35251
|
+
* @param [options.upAxis = Axis.Y] - The up-axis of the glTF model.
|
|
35252
|
+
* @param [options.forwardAxis = Axis.Z] - The forward-axis of the glTF model.
|
|
35253
|
+
* @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
|
|
35254
|
+
* @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
|
|
35255
|
+
* @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
|
|
35256
|
+
* @param [options.show = true] - Whether or not to render the model.
|
|
35257
|
+
* @param [options.color] - A color that blends with the model's rendered color.
|
|
35258
|
+
* @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
|
|
35259
|
+
* @param [options.colorBlendAmount = 0.5] - Value used to determine 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.
|
|
35260
|
+
* @param [options.featureIdAttributeIndex = 0] - The index of the feature ID attribute to use for picking features per-instance or per-primitive.
|
|
35261
|
+
* @param [options.featureIdTextureIndex = 0] - The index of the feature ID texture to use for picking features per-primitive.
|
|
35262
|
+
* @returns The newly created model.
|
|
35263
|
+
*/
|
|
35264
|
+
static fromGltf(options: {
|
|
35265
|
+
gltf: string | Resource | Uint8Array | any;
|
|
35266
|
+
basePath?: string | Resource;
|
|
35267
|
+
modelMatrix?: Matrix4;
|
|
35268
|
+
incrementallyLoadTextures?: boolean;
|
|
35269
|
+
releaseGltfJson?: boolean;
|
|
35270
|
+
debugShowBoundingVolume?: boolean;
|
|
35271
|
+
cull?: boolean;
|
|
35272
|
+
opaquePass?: boolean;
|
|
35273
|
+
upAxis?: Axis;
|
|
35274
|
+
forwardAxis?: Axis;
|
|
35275
|
+
allowPicking?: boolean;
|
|
35276
|
+
customShader?: CustomShader;
|
|
35277
|
+
content?: Cesium3DTileContent;
|
|
35278
|
+
show?: boolean;
|
|
35279
|
+
color?: Color;
|
|
35280
|
+
colorBlendMode?: ColorBlendMode;
|
|
35281
|
+
colorBlendAmount?: number;
|
|
35282
|
+
featureIdAttributeIndex?: number;
|
|
35283
|
+
featureIdTextureIndex?: number;
|
|
35284
|
+
}): ModelExperimental;
|
|
35285
|
+
}
|
|
35286
|
+
|
|
35287
|
+
/**
|
|
35288
|
+
* The style to apply the to the features in the model. Cannot be applied if a {@link CustomShader} is also applied.
|
|
35289
|
+
*/
|
|
35290
|
+
export var style: Cesium3DTileStyle;
|
|
35291
|
+
|
|
35292
|
+
/**
|
|
35293
|
+
* The 4x4 transformation matrix that transforms the model from model to world coordinates.
|
|
35294
|
+
When this is the identity matrix, the model is drawn in world coordinates, i.e., Earth's Cartesian WGS84 coordinates.
|
|
35295
|
+
Local reference frames can be used by providing a different transformation matrix, like that returned
|
|
35296
|
+
by {@link Transforms.eastNorthUpToFixedFrame}.
|
|
35297
|
+
* @example
|
|
35298
|
+
* var origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
|
|
35299
|
+
m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
|
|
35300
|
+
*/
|
|
35301
|
+
export var modelMatrix: Matrix4;
|
|
35302
|
+
|
|
35303
|
+
/**
|
|
35304
|
+
* A feature of a {@link ModelExperimental}.
|
|
35305
|
+
<p>
|
|
35306
|
+
Provides access to a feature's properties stored in the model's feature table.
|
|
35307
|
+
</p>
|
|
35308
|
+
<p>
|
|
35309
|
+
Modifications to a <code>ModelFeature</code> object have the lifetime of the model.
|
|
35310
|
+
</p>
|
|
35311
|
+
<p>
|
|
35312
|
+
Do not construct this directly. Access it through picking using {@link Scene#pick}.
|
|
35313
|
+
</p>
|
|
35314
|
+
* @example
|
|
35315
|
+
* // On mouse over, display all the properties for a feature in the console log.
|
|
35316
|
+
handler.setInputAction(function(movement) {
|
|
35317
|
+
var feature = scene.pick(movement.endPosition);
|
|
35318
|
+
if (feature instanceof Cesium.ModelFeature) {
|
|
35319
|
+
console.log(feature);
|
|
35320
|
+
}
|
|
35321
|
+
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
|
|
35322
|
+
* @param options - Object with the following properties:
|
|
35323
|
+
* @param options.model - The model the feature belongs to.
|
|
35324
|
+
* @param options.featureId - The unique integral identifier for this feature.
|
|
35325
|
+
*/
|
|
35326
|
+
export class ModelFeature {
|
|
35327
|
+
constructor(options: {
|
|
35328
|
+
model: ModelExperimental;
|
|
35329
|
+
featureId: number;
|
|
35330
|
+
});
|
|
35331
|
+
/**
|
|
35332
|
+
* Gets or sets if the feature will be shown. This is set for all features
|
|
35333
|
+
when a style's show is evaluated.
|
|
35334
|
+
*/
|
|
35335
|
+
show: boolean;
|
|
35336
|
+
/**
|
|
35337
|
+
* Gets or sets the highlight color multiplied with the feature's color. When
|
|
35338
|
+
this is white, the feature's color is not changed. This is set for all features
|
|
35339
|
+
when a style's color is evaluated.
|
|
35340
|
+
*/
|
|
35341
|
+
color: Color;
|
|
35342
|
+
/**
|
|
35343
|
+
* Returns whether the feature contains this property.
|
|
35344
|
+
* @param name - The case-sensitive name of the property.
|
|
35345
|
+
* @returns Whether the feature contains this property.
|
|
35346
|
+
*/
|
|
35347
|
+
hasProperty(name: string): boolean;
|
|
35348
|
+
/**
|
|
35349
|
+
* Returns a copy of the value of the feature's property with the given name.
|
|
35350
|
+
* @example
|
|
35351
|
+
* // Display all the properties for a feature in the console log.
|
|
35352
|
+
var propertyNames = feature.getPropertyNames();
|
|
35353
|
+
var length = propertyNames.length;
|
|
35354
|
+
for (var i = 0; i < length; ++i) {
|
|
35355
|
+
var propertyName = propertyNames[i];
|
|
35356
|
+
console.log(propertyName + ': ' + feature.getProperty(propertyName));
|
|
35357
|
+
}
|
|
35358
|
+
* @param name - The case-sensitive name of the property.
|
|
35359
|
+
* @returns The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
35360
|
+
*/
|
|
35361
|
+
getProperty(name: string): any;
|
|
35362
|
+
/**
|
|
35363
|
+
* Returns a copy of the feature's property with the given name, examining all
|
|
35364
|
+
the metadata from the EXT_mesh_features and legacy EXT_feature_metadata glTF
|
|
35365
|
+
extensions. Metadata is checked against name from most specific to most
|
|
35366
|
+
general and the first match is returned. Metadata is checked in this order:
|
|
35367
|
+
<ol>
|
|
35368
|
+
<li>Feature metadata property by semantic</li>
|
|
35369
|
+
<li>Feature metadata property by property ID</li>
|
|
35370
|
+
</ol>
|
|
35371
|
+
<p>
|
|
35372
|
+
See the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features|EXT_mesh_features Extension} as well as the
|
|
35373
|
+
previous {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_feature_metadata|EXT_feature_metadata Extension} for glTF.
|
|
35374
|
+
</p>
|
|
35375
|
+
* @param name - The semantic or property ID of the feature. Semantics are checked before property IDs in each granularity of metadata.
|
|
35376
|
+
* @returns The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
35377
|
+
*/
|
|
35378
|
+
getPropertyInherited(name: string): any;
|
|
35379
|
+
/**
|
|
35380
|
+
* Returns an array of property names for the feature.
|
|
35381
|
+
* @param [results] - An array into which to store the results.
|
|
35382
|
+
* @returns The names of the feature's properties.
|
|
35383
|
+
*/
|
|
35384
|
+
getPropertyNames(results?: string[]): string[];
|
|
35385
|
+
/**
|
|
35386
|
+
* Sets the value of the feature's property with the given name.
|
|
35387
|
+
* @example
|
|
35388
|
+
* var height = feature.getProperty('Height'); // e.g., the height of a building
|
|
35389
|
+
* @example
|
|
35390
|
+
* var name = 'clicked';
|
|
35391
|
+
if (feature.getProperty(name)) {
|
|
35392
|
+
console.log('already clicked');
|
|
35393
|
+
} else {
|
|
35394
|
+
feature.setProperty(name, true);
|
|
35395
|
+
console.log('first click');
|
|
35396
|
+
}
|
|
35397
|
+
* @param name - The case-sensitive name of the property.
|
|
35398
|
+
* @param value - The value of the property that will be copied.
|
|
35399
|
+
* @returns <code>true</code> if the property was set, <code>false</code> otherwise.
|
|
35400
|
+
*/
|
|
35401
|
+
setProperty(name: string, value: any): boolean;
|
|
35402
|
+
}
|
|
35403
|
+
|
|
35404
|
+
/**
|
|
35405
|
+
* The bounding sphere that contains all the vertices in this primitive.
|
|
35406
|
+
*/
|
|
35407
|
+
export var boundingSphere: BoundingSphere;
|
|
35408
|
+
|
|
35409
|
+
/**
|
|
35410
|
+
* A simple struct that serves as a value of a <code>sampler2D</code>-valued
|
|
35411
|
+
uniform. This is used with {@link CustomShader} and {@link TextureManager}
|
|
35412
|
+
* @param options - An object with the following properties:
|
|
35413
|
+
* @param [options.typedArray] - A typed array storing the contents of a texture. Values are stored in row-major order. Since WebGL uses a y-up convention for textures, rows are listed from bottom to top.
|
|
35414
|
+
* @param [options.width] - The width of the image. Required when options.typedArray is present
|
|
35415
|
+
* @param [options.height] - The height of the image. Required when options.typedArray is present.
|
|
35416
|
+
* @param [options.url] - A URL string or resource pointing to a texture image.
|
|
35417
|
+
* @param [options.repeat = true] - When defined, the texture sampler will be set to wrap in both directions
|
|
35418
|
+
* @param [options.pixelFormat = PixelFormat.RGBA] - When options.typedArray is defined, this is used to determine the pixel format of the texture
|
|
35419
|
+
* @param [options.pixelDatatype = PixelDatatype.UNSIGNED_BYTE] - When options.typedArray is defined, this is the data type of pixel values in the typed array.
|
|
35420
|
+
* @param [textureMinificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
|
|
35421
|
+
* @param [textureMagnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
|
|
35422
|
+
* @param [options.maximumAnisotropy = 1.0] - The maximum anisotropy of the texture sampler
|
|
35423
|
+
*/
|
|
35424
|
+
export class TextureUniform {
|
|
35425
|
+
constructor(options: {
|
|
35426
|
+
typedArray?: Uint8Array;
|
|
35427
|
+
width?: number;
|
|
35428
|
+
height?: number;
|
|
35429
|
+
url?: string | Resource;
|
|
35430
|
+
repeat?: boolean;
|
|
35431
|
+
pixelFormat?: PixelFormat;
|
|
35432
|
+
pixelDatatype?: PixelDatatype;
|
|
35433
|
+
maximumAnisotropy?: number;
|
|
35434
|
+
}, textureMinificationFilter?: TextureMinificationFilter, textureMagnificationFilter?: TextureMagnificationFilter);
|
|
35435
|
+
}
|
|
35436
|
+
|
|
35437
|
+
/**
|
|
35438
|
+
* An enum of the basic GLSL uniform types. These can be used with
|
|
35439
|
+
{@link CustomShader} to declare user-defined uniforms.
|
|
35440
|
+
*/
|
|
35441
|
+
export enum UniformType {
|
|
35442
|
+
/**
|
|
35443
|
+
* A single floating point value.
|
|
35444
|
+
*/
|
|
35445
|
+
FLOAT = "float",
|
|
35446
|
+
/**
|
|
35447
|
+
* A vector of 2 floating point values.
|
|
35448
|
+
*/
|
|
35449
|
+
VEC2 = "vec2",
|
|
35450
|
+
/**
|
|
35451
|
+
* A vector of 3 floating point values.
|
|
35452
|
+
*/
|
|
35453
|
+
VEC3 = "vec3",
|
|
35454
|
+
/**
|
|
35455
|
+
* A vector of 4 floating point values.
|
|
35456
|
+
*/
|
|
35457
|
+
VEC4 = "vec4",
|
|
35458
|
+
/**
|
|
35459
|
+
* A single integer value
|
|
35460
|
+
*/
|
|
35461
|
+
INT = "int",
|
|
35462
|
+
/**
|
|
35463
|
+
* A vector of 2 integer values.
|
|
35464
|
+
*/
|
|
35465
|
+
INT_VEC2 = "ivec2",
|
|
35466
|
+
/**
|
|
35467
|
+
* A vector of 3 integer values.
|
|
35468
|
+
*/
|
|
35469
|
+
INT_VEC3 = "ivec3",
|
|
35470
|
+
/**
|
|
35471
|
+
* A vector of 4 integer values.
|
|
35472
|
+
*/
|
|
35473
|
+
INT_VEC4 = "ivec4",
|
|
35474
|
+
/**
|
|
35475
|
+
* A single boolean value.
|
|
35476
|
+
*/
|
|
35477
|
+
BOOL = "bool",
|
|
35478
|
+
/**
|
|
35479
|
+
* A vector of 2 boolean values.
|
|
35480
|
+
*/
|
|
35481
|
+
BOOL_VEC2 = "bvec2",
|
|
35482
|
+
/**
|
|
35483
|
+
* A vector of 3 boolean values.
|
|
35484
|
+
*/
|
|
35485
|
+
BOOL_VEC3 = "bvec3",
|
|
35486
|
+
/**
|
|
35487
|
+
* A vector of 4 boolean values.
|
|
35488
|
+
*/
|
|
35489
|
+
BOOL_VEC4 = "bvec4",
|
|
35490
|
+
/**
|
|
35491
|
+
* A 2x2 matrix of floating point values.
|
|
35492
|
+
*/
|
|
35493
|
+
MAT2 = "mat2",
|
|
35494
|
+
/**
|
|
35495
|
+
* A 3x3 matrix of floating point values.
|
|
35496
|
+
*/
|
|
35497
|
+
MAT3 = "mat2",
|
|
35498
|
+
/**
|
|
35499
|
+
* A 3x3 matrix of floating point values.
|
|
35500
|
+
*/
|
|
35501
|
+
MAT4 = "mat4",
|
|
35502
|
+
/**
|
|
35503
|
+
* A 2D sampled texture.
|
|
35504
|
+
*/
|
|
35505
|
+
SAMPLER_2D = "sampler2D",
|
|
35506
|
+
SAMPLER_CUBE = "samplerCube"
|
|
35507
|
+
}
|
|
35508
|
+
|
|
35509
|
+
/**
|
|
35510
|
+
* An enum for the GLSL varying types. These can be used for declaring varyings
|
|
35511
|
+
in {@link CustomShader}
|
|
35512
|
+
*/
|
|
35513
|
+
export enum VaryingType {
|
|
35514
|
+
/**
|
|
35515
|
+
* A single floating point value.
|
|
35516
|
+
*/
|
|
35517
|
+
FLOAT = "float",
|
|
35518
|
+
/**
|
|
35519
|
+
* A vector of 2 floating point values.
|
|
35520
|
+
*/
|
|
35521
|
+
VEC2 = "vec2",
|
|
35522
|
+
/**
|
|
35523
|
+
* A vector of 3 floating point values.
|
|
35524
|
+
*/
|
|
35525
|
+
VEC3 = "vec3",
|
|
35526
|
+
/**
|
|
35527
|
+
* A vector of 4 floating point values.
|
|
35528
|
+
*/
|
|
35529
|
+
VEC4 = "vec4",
|
|
35530
|
+
/**
|
|
35531
|
+
* A 2x2 matrix of floating point values.
|
|
35532
|
+
*/
|
|
35533
|
+
MAT2 = "mat2",
|
|
35534
|
+
/**
|
|
35535
|
+
* A 3x3 matrix of floating point values.
|
|
35536
|
+
*/
|
|
35537
|
+
MAT3 = "mat2",
|
|
35538
|
+
/**
|
|
35539
|
+
* A 3x3 matrix of floating point values.
|
|
35540
|
+
*/
|
|
35541
|
+
MAT4 = "mat4"
|
|
35542
|
+
}
|
|
35543
|
+
|
|
34535
35544
|
/**
|
|
34536
35545
|
* A model's material with modifiable parameters. A glTF material
|
|
34537
35546
|
contains parameters defined by the material's technique with values
|
|
@@ -37049,7 +38058,7 @@ var scene = new Cesium.Scene({
|
|
|
37049
38058
|
allowTextureFilterAnisotropic : false
|
|
37050
38059
|
}
|
|
37051
38060
|
});
|
|
37052
|
-
* @param
|
|
38061
|
+
* @param options - Object with the following properties:
|
|
37053
38062
|
* @param options.canvas - The HTML canvas element to create the scene for.
|
|
37054
38063
|
* @param [options.contextOptions] - Context and WebGL creation properties. See details above.
|
|
37055
38064
|
* @param [options.creditContainer] - The HTML element in which the credits will be displayed.
|
|
@@ -37063,7 +38072,7 @@ var scene = new Cesium.Scene({
|
|
|
37063
38072
|
* @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
|
|
37064
38073
|
*/
|
|
37065
38074
|
export class Scene {
|
|
37066
|
-
constructor(options
|
|
38075
|
+
constructor(options: {
|
|
37067
38076
|
canvas: HTMLCanvasElement;
|
|
37068
38077
|
contextOptions?: any;
|
|
37069
38078
|
creditContainer?: Element;
|
|
@@ -37446,10 +38455,6 @@ export class Scene {
|
|
|
37446
38455
|
* Gets or sets the current mode of the scene.
|
|
37447
38456
|
*/
|
|
37448
38457
|
mode: SceneMode;
|
|
37449
|
-
/**
|
|
37450
|
-
* Gets or sets the scalar used to exaggerate the terrain.
|
|
37451
|
-
*/
|
|
37452
|
-
terrainExaggeration: number;
|
|
37453
38458
|
/**
|
|
37454
38459
|
* When <code>true</code>, splits the scene into two viewports with steroscopic views for the left and right eyes.
|
|
37455
38460
|
Used for cardboard and WebVR.
|
|
@@ -42917,6 +43922,8 @@ declare module "cesium/Source/Scene/ClassificationPrimitive" { import { Classifi
|
|
|
42917
43922
|
declare module "cesium/Source/Scene/ClassificationType" { import { ClassificationType } from 'cesium'; export default ClassificationType; }
|
|
42918
43923
|
declare module "cesium/Source/Scene/ClippingPlane" { import { ClippingPlane } from 'cesium'; export default ClippingPlane; }
|
|
42919
43924
|
declare module "cesium/Source/Scene/ClippingPlaneCollection" { import { ClippingPlaneCollection } from 'cesium'; export default ClippingPlaneCollection; }
|
|
43925
|
+
declare module "cesium/Source/Scene/CloudCollection" { import { CloudCollection } from 'cesium'; export default CloudCollection; }
|
|
43926
|
+
declare module "cesium/Source/Scene/CloudType" { import { CloudType } from 'cesium'; export default CloudType; }
|
|
42920
43927
|
declare module "cesium/Source/Scene/ColorBlendMode" { import { ColorBlendMode } from 'cesium'; export default ColorBlendMode; }
|
|
42921
43928
|
declare module "cesium/Source/Scene/ConditionsExpression" { import { ConditionsExpression } from 'cesium'; export default ConditionsExpression; }
|
|
42922
43929
|
declare module "cesium/Source/Scene/ConeEmitter" { import { ConeEmitter } from 'cesium'; export default ConeEmitter; }
|
|
@@ -42926,6 +43933,7 @@ declare module "cesium/Source/Scene/createTangentSpaceDebugPrimitive" { import {
|
|
|
42926
43933
|
declare module "cesium/Source/Scene/createWorldImagery" { import { createWorldImagery } from 'cesium'; export default createWorldImagery; }
|
|
42927
43934
|
declare module "cesium/Source/Scene/CreditDisplay" { import { CreditDisplay } from 'cesium'; export default CreditDisplay; }
|
|
42928
43935
|
declare module "cesium/Source/Scene/CullFace" { import { CullFace } from 'cesium'; export default CullFace; }
|
|
43936
|
+
declare module "cesium/Source/Scene/CumulusCloud" { import { CumulusCloud } from 'cesium'; export default CumulusCloud; }
|
|
42929
43937
|
declare module "cesium/Source/Scene/DebugAppearance" { import { DebugAppearance } from 'cesium'; export default DebugAppearance; }
|
|
42930
43938
|
declare module "cesium/Source/Scene/DebugCameraPrimitive" { import { DebugCameraPrimitive } from 'cesium'; export default DebugCameraPrimitive; }
|
|
42931
43939
|
declare module "cesium/Source/Scene/DebugModelMatrixPrimitive" { import { DebugModelMatrixPrimitive } from 'cesium'; export default DebugModelMatrixPrimitive; }
|
|
@@ -43022,6 +44030,14 @@ declare module "cesium/Source/Widgets/Command" { import { Command } from 'cesium
|
|
|
43022
44030
|
declare module "cesium/Source/Widgets/createCommand" { import { createCommand } from 'cesium'; export default createCommand; }
|
|
43023
44031
|
declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathBindingHandler } from 'cesium'; export default SvgPathBindingHandler; }
|
|
43024
44032
|
declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'cesium'; export default ToggleButtonViewModel; }
|
|
44033
|
+
declare module "cesium/Source/Scene/ModelExperimental/CustomShader" { import { CustomShader } from 'cesium'; export default CustomShader; }
|
|
44034
|
+
declare module "cesium/Source/Scene/ModelExperimental/CustomShaderMode" { import { CustomShaderMode } from 'cesium'; export default CustomShaderMode; }
|
|
44035
|
+
declare module "cesium/Source/Scene/ModelExperimental/LightingModel" { import { LightingModel } from 'cesium'; export default LightingModel; }
|
|
44036
|
+
declare module "cesium/Source/Scene/ModelExperimental/ModelExperimental" { import { ModelExperimental } from 'cesium'; export default ModelExperimental; }
|
|
44037
|
+
declare module "cesium/Source/Scene/ModelExperimental/ModelFeature" { import { ModelFeature } from 'cesium'; export default ModelFeature; }
|
|
44038
|
+
declare module "cesium/Source/Scene/ModelExperimental/TextureUniform" { import { TextureUniform } from 'cesium'; export default TextureUniform; }
|
|
44039
|
+
declare module "cesium/Source/Scene/ModelExperimental/UniformType" { import { UniformType } from 'cesium'; export default UniformType; }
|
|
44040
|
+
declare module "cesium/Source/Scene/ModelExperimental/VaryingType" { import { VaryingType } from 'cesium'; export default VaryingType; }
|
|
43025
44041
|
declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'cesium'; export default Animation; }
|
|
43026
44042
|
declare module "cesium/Source/Widgets/Animation/AnimationViewModel" { import { AnimationViewModel } from 'cesium'; export default AnimationViewModel; }
|
|
43027
44043
|
declare module "cesium/Source/Widgets/BaseLayerPicker/BaseLayerPicker" { import { BaseLayerPicker } from 'cesium'; export default BaseLayerPicker; }
|