@cesium/engine
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
45 lines (36 loc) • 844 B
JavaScript
// @ts-check
/** @import Color from "../Core/Color.js"; */
/** @import {Destroyable} from "../Core/globalTypes.js"; */
/**
* Represents a pickable object with a unique integer ID and picking color.
*
* @implements {Destroyable}
* @ignore
*/
class PickId {
/**
* @param {Map<number, object>} pickObjects
* @param {number} key
* @param {Color} color
*/
constructor(pickObjects, key, color) {
this._pickObjects = pickObjects;
/** @type {number} */
this.key = key;
/** @type {Color} */
this.color = color;
}
/** @type {object} */
get object() {
return this._pickObjects.get(this.key);
}
set object(value) {
this._pickObjects.set(this.key, value);
}
/** @returns {void} */
destroy() {
this._pickObjects.delete(this.key);
return undefined;
}
}
export default PickId;