import destroyObject from "../Core/destroyObject.js"; import DeveloperError from "../Core/DeveloperError.js"; /** * Represents empty content for tiles in a * {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification|3D Tiles} tileset that * do not have content, e.g., because they are used to optimize hierarchical culling. *
* Implements the {@link Cesium3DTileContent} interface. *
* * @alias Empty3DTileContent * @constructor * * @private */ function Empty3DTileContent(tileset, tile) { this._tileset = tileset; this._tile = tile; this.featurePropertiesDirty = false; } Object.defineProperties(Empty3DTileContent.prototype, { featuresLength: { get: function () { return 0; }, }, pointsLength: { get: function () { return 0; }, }, trianglesLength: { get: function () { return 0; }, }, geometryByteLength: { get: function () { return 0; }, }, texturesByteLength: { get: function () { return 0; }, }, batchTableByteLength: { get: function () { return 0; }, }, innerContents: { get: function () { return undefined; }, }, readyPromise: { get: function () { return undefined; }, }, tileset: { get: function () { return this._tileset; }, }, tile: { get: function () { return this._tile; }, }, url: { get: function () { return undefined; }, }, metadata: { get: function () { return undefined; }, set: function (value) { //>>includeStart('debug', pragmas.debug); throw new DeveloperError( "Empty3DTileContent cannot have content metadata" ); //>>includeEnd('debug'); }, }, batchTable: { get: function () { return undefined; }, }, group: { get: function () { return undefined; }, set: function (value) { //>>includeStart('debug', pragmas.debug); throw new DeveloperError("Empty3DTileContent cannot have group metadata"); //>>includeEnd('debug'); }, }, }); /** * Part of the {@link Cesium3DTileContent} interface.Empty3DTileContent
* always returns false
since a tile of this type does not have any features.
*/
Empty3DTileContent.prototype.hasProperty = function (batchId, name) {
return false;
};
/**
* Part of the {@link Cesium3DTileContent} interface. Empty3DTileContent
* always returns undefined
since a tile of this type does not have any features.
*/
Empty3DTileContent.prototype.getFeature = function (batchId) {
return undefined;
};
Empty3DTileContent.prototype.applyDebugSettings = function (enabled, color) {};
Empty3DTileContent.prototype.applyStyle = function (style) {};
Empty3DTileContent.prototype.update = function (tileset, frameState) {};
Empty3DTileContent.prototype.isDestroyed = function () {
return false;
};
Empty3DTileContent.prototype.destroy = function () {
return destroyObject(this);
};
export default Empty3DTileContent;