| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | import ComponentDatatype from "./ComponentDatatype.js";import defaultValue from "./defaultValue.js";import defined from "./defined.js";import DeveloperError from "./DeveloperError.js";/** * Value and type information for per-instance geometry attribute that determines if the geometry instance will be shown. * * @alias ShowGeometryInstanceAttribute * @constructor * * @param {Boolean} [show=true] Determines if the geometry instance will be shown. * * * @example * const instance = new Cesium.GeometryInstance({ *   geometry : new Cesium.BoxGeometry({ *     vertexFormat : Cesium.VertexFormat.POSITION_AND_NORMAL, *     minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0), *     maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0) *   }), *   modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame( *     Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()), *   id : 'box', *   attributes : { *     show : new Cesium.ShowGeometryInstanceAttribute(false) *   } * }); * * @see GeometryInstance * @see GeometryInstanceAttribute */function ShowGeometryInstanceAttribute(show) {  show = defaultValue(show, true);  /**   * The values for the attributes stored in a typed array.   *   * @type Uint8Array   *   * @default [1.0]   */  this.value = ShowGeometryInstanceAttribute.toValue(show);}Object.defineProperties(ShowGeometryInstanceAttribute.prototype, {  /**   * The datatype of each component in the attribute, e.g., individual elements in   * {@link ColorGeometryInstanceAttribute#value}.   *   * @memberof ShowGeometryInstanceAttribute.prototype   *   * @type {ComponentDatatype}   * @readonly   *   * @default {@link ComponentDatatype.UNSIGNED_BYTE}   */  componentDatatype: {    get: function () {      return ComponentDatatype.UNSIGNED_BYTE;    },  },  /**   * The number of components in the attributes, i.e., {@link ColorGeometryInstanceAttribute#value}.   *   * @memberof ShowGeometryInstanceAttribute.prototype   *   * @type {Number}   * @readonly   *   * @default 1   */  componentsPerAttribute: {    get: function () {      return 1;    },  },  /**   * When <code>true</code> and <code>componentDatatype</code> is an integer format,   * indicate that the components should be mapped to the range [0, 1] (unsigned)   * or [-1, 1] (signed) when they are accessed as floating-point for rendering.   *   * @memberof ShowGeometryInstanceAttribute.prototype   *   * @type {Boolean}   * @readonly   *   * @default true   */  normalize: {    get: function () {      return false;    },  },});/** * Converts a boolean show to a typed array that can be used to assign a show attribute. * * @param {Boolean} show The show value. * @param {Uint8Array} [result] The array to store the result in, if undefined a new instance will be created. * @returns {Uint8Array} The modified result parameter or a new instance if result was undefined. * * @example * const attributes = primitive.getGeometryInstanceAttributes('an id'); * attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true, attributes.show); */ShowGeometryInstanceAttribute.toValue = function (show, result) {  //>>includeStart('debug', pragmas.debug);  if (!defined(show)) {    throw new DeveloperError("show is required.");  }  //>>includeEnd('debug');  if (!defined(result)) {    return new Uint8Array([show]);  }  result[0] = show;  return result;};export default ShowGeometryInstanceAttribute;
 |