import defer from "../Core/defer.js"; import destroyObject from "../Core/destroyObject.js"; /** * Represents content for a tile in a * {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification|3D Tiles} tileset whose * content points to another 3D Tiles tileset. *
* Implements the {@link Cesium3DTileContent} interface. *
* * @alias Tileset3DTileContent * @constructor * * @private */ function Tileset3DTileContent(tileset, tile, resource, json) { this._tileset = tileset; this._tile = tile; this._resource = resource; this._readyPromise = defer(); this.featurePropertiesDirty = false; this._metadata = undefined; this._group = undefined; initialize(this, json); } Object.defineProperties(Tileset3DTileContent.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 this._readyPromise.promise; }, }, tileset: { get: function () { return this._tileset; }, }, tile: { get: function () { return this._tile; }, }, url: { get: function () { return this._resource.getUrlComponent(true); }, }, batchTable: { get: function () { return undefined; }, }, metadata: { get: function () { return this._metadata; }, set: function (value) { this._metadata = value; }, }, group: { get: function () { return this._group; }, set: function (value) { this._group = value; }, }, }); function initialize(content, json) { content._tileset.loadTileset(content._resource, json, content._tile); content._readyPromise.resolve(content); } /** * Part of the {@link Cesium3DTileContent} interface.Tileset3DTileContent
* always returns false
since a tile of this type does not have any features.
*/
Tileset3DTileContent.prototype.hasProperty = function (batchId, name) {
return false;
};
/**
* Part of the {@link Cesium3DTileContent} interface. Tileset3DTileContent
* always returns undefined
since a tile of this type does not have any features.
*/
Tileset3DTileContent.prototype.getFeature = function (batchId) {
return undefined;
};
Tileset3DTileContent.prototype.applyDebugSettings = function (
enabled,
color
) {};
Tileset3DTileContent.prototype.applyStyle = function (style) {};
Tileset3DTileContent.prototype.update = function (tileset, frameState) {};
Tileset3DTileContent.prototype.isDestroyed = function () {
return false;
};
Tileset3DTileContent.prototype.destroy = function () {
return destroyObject(this);
};
export default Tileset3DTileContent;