main.cesium.IonResource.kt Maven / Gradle / Ivy
The newest version!
// Automatically generated - do not modify!
@file:JsModule("cesium")
package cesium
/**
* A [Resource] instance that encapsulates Cesium ion asset access.
* This object is normally not instantiated directly, use [IonResource.fromAssetId].
* @see Online Documentation
*
* @constructor
* @param [endpoint] The result of the Cesium ion asset endpoint service.
* @param [endpointResource] The resource used to retreive the endpoint.
* @see Online Documentation
*/
external class IonResource(
endpoint: Any,
endpointResource: Resource,
) {
/**
* Gets the credits required for attribution of the asset.
* @see Online Documentation
*/
val credits: Array
/**
* Duplicates a Resource instance.
* @param [result] The object onto which to store the result.
* @return The modified result parameter or a new Resource instance if one was not provided.
* @see Online Documentation
*/
fun clone(result: Resource? = definedExternally): Resource
/**
* Asynchronously loads the given image resource. Returns a promise that will resolve to
* an [ImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap) if `preferImageBitmap` is true and the browser supports `createImageBitmap` or otherwise an
* [Image](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement) once loaded, or reject if the image failed to load.
* ```
* // load a single image asynchronously
* resource.fetchImage().then(function(image) {
* // use the loaded image
* }).otherwise(function(error) {
* // an error occurred
* });
*
* // load several images in parallel
* when.all([resource1.fetchImage(), resource2.fetchImage()]).then(function(images) {
* // images is an array containing all the loaded images
* });
* ```
* @return a promise that will resolve to the requested data when loaded. Returns undefined if `request.throttle` is true and the request does not have high enough priority.
* @see Online Documentation
*/
fun fetchImage(options: FetchImageOptions? = definedExternally): dynamic
/**
* @property [preferBlob] If true, we will load the image via a blob.
* Default value - `false`
* @property [preferImageBitmap] If true, image will be decoded during fetch and an `ImageBitmap` is returned.
* Default value - `false`
* @property [flipY] If true, image will be vertically flipped during decode. Only applies if the browser supports `createImageBitmap`.
* Default value - `false`
* @property [skipColorSpaceConversion] If true, any custom gamma or color profiles in the image will be ignored. Only applies if the browser supports `createImageBitmap`.
* Default value - `false`
*/
interface FetchImageOptions {
var preferBlob: Boolean?
var preferImageBitmap: Boolean?
var flipY: Boolean?
var skipColorSpaceConversion: Boolean?
}
companion object {
/**
* Asynchronously creates an instance.
* ```
* //Load a Cesium3DTileset with asset ID of 124624234
* viewer.scene.primitives.add(new Cesium3DTileset({ url: fromAssetId(124624234) }));
* ```
* ```
* //Load a CZML file with asset ID of 10890
* IonResource.fromAssetId(10890)
* .then(function (resource) {
* viewer.dataSources.add(CzmlDataSource.load(resource));
* });
* ```
* @param [assetId] The Cesium ion asset id.
* @return A Promise to am instance representing the Cesium ion Asset.
* @see Online Documentation
*/
fun fromAssetId(
assetId: Int,
options: FromAssetIdOptions? = definedExternally,
): kotlin.js.Promise
/**
* @property [accessToken] The access token to use.
* Default value - [Ion.defaultAccessToken]
* @property [server] The resource to the Cesium ion API server.
* Default value - [Ion.defaultServer]
*/
interface FromAssetIdOptions {
var accessToken: String?
var server: Resource?
}
}
}