Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | 347x 347x 347x 347x 347x 347x 347x 347x 347x 347x 1x 348x 347x 1x 693x 699x 1x 1x 1x | import Check from "../Core/Check.js";
import clone from "../Core/clone.js";
import Frozen from "../Core/Frozen.js";
/**
* A metadata enum value.
* <p>
* See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
* </p>
*
* @param {object} options Object with the following properties:
* @param {number} options.value The integer value.
* @param {string} options.name The name of the enum value.
* @param {string} [options.description] The description of the enum value.
* @param {*} [options.extras] Extra user-defined properties.
* @param {object} [options.extensions] An object containing extensions.
*
* @alias MetadataEnumValue
* @constructor
* @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
*/
function MetadataEnumValue(options) {
options = options ?? Frozen.EMPTY_OBJECT;
const value = options.value;
const name = options.name;
//>>includeStart('debug', pragmas.debug);
Check.typeOf.number("options.value", value);
Check.typeOf.string("options.name", name);
//>>includeEnd('debug');
this._value = value;
this._name = name;
this._description = options.description;
this._extras = clone(options.extras, true);
this._extensions = clone(options.extensions, true);
}
/**
* Creates a {@link MetadataEnumValue} from either 3D Tiles 1.1, 3DTILES_metadata, EXT_structural_metadata, or EXT_feature_metadata.
*
* @param {object} value The enum value JSON object.
*
* @returns {MetadataEnumValue} The newly created metadata enum value.
*
* @private
* @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
*/
MetadataEnumValue.fromJson = function (value) {
//>>includeStart('debug', pragmas.debug);
Check.typeOf.object("value", value);
//>>includeEnd('debug');
return new MetadataEnumValue({
value: value.value,
name: value.name,
description: value.description,
extras: value.extras,
extensions: value.extensions,
});
};
Object.defineProperties(MetadataEnumValue.prototype, {
/**
* The integer value.
*
* @memberof MetadataEnumValue.prototype
* @type {number}
* @readonly
*/
value: {
get: function () {
return this._value;
},
},
/**
* The name of the enum value.
*
* @memberof MetadataEnumValue.prototype
* @type {string}
* @readonly
*/
name: {
get: function () {
return this._name;
},
},
/**
* The description of the enum value.
*
* @memberof MetadataEnumValue.prototype
* @type {string}
* @readonly
*/
description: {
get: function () {
return this._description;
},
},
/**
* Extra user-defined properties.
*
* @memberof MetadataEnumValue.prototype
* @type {*}
* @readonly
*/
extras: {
get: function () {
return this._extras;
},
},
/**
* An object containing extensions.
*
* @memberof MetadataEnumValue.prototype
* @type {object}
* @readonly
*/
extensions: {
get: function () {
return this._extensions;
},
},
});
export default MetadataEnumValue;
|