UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

82 lines (75 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _Binding = _interopRequireDefault(require("./Binding.js")); var _BufferUtils = require("./BufferUtils.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Represents a buffer binding type. * * @private * @abstract * @augments Binding */ class Buffer extends _Binding.default { /** * Constructs a new buffer. * * @param {string} name - The buffer's name. * @param {TypedArray} [buffer=null] - The buffer. */ constructor(name, buffer = null) { super(name); /** * This flag can be used for type testing. * * @type {boolean} * @readonly * @default true */ this.isBuffer = true; /** * The bytes per element. * * @type {number} */ this.bytesPerElement = Float32Array.BYTES_PER_ELEMENT; /** * A reference to the internal buffer. * * @private * @type {TypedArray} */ this._buffer = buffer; } /** * The buffer's byte length. * * @type {number} * @readonly */ get byteLength() { return (0, _BufferUtils.getFloatLength)(this._buffer.byteLength); } /** * A reference to the internal buffer. * * @type {Float32Array} * @readonly */ get buffer() { return this._buffer; } /** * Updates the binding. * * @return {boolean} Whether the buffer has been updated and must be * uploaded to the GPU. */ update() { return true; } } var _default = exports.default = Buffer;