123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- import destroyObject from "../Core/destroyObject.js";
- import deprecationWarning from "../Core/deprecationWarning.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.
- * <p>
- * Implements the {@link Cesium3DTileContent} interface.
- * </p>
- *
- * @alias Tileset3DTileContent
- * @constructor
- *
- * @private
- */
- function Tileset3DTileContent(tileset, tile, resource) {
- this._tileset = tileset;
- this._tile = tile;
- this._resource = resource;
- this.featurePropertiesDirty = false;
- this._metadata = undefined;
- this._group = undefined;
- this._ready = false;
- this._readyPromise = Promise.resolve(this);
- }
- 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;
- },
- },
- /**
- * Returns true when the tile's content is ready to render; otherwise false
- *
- * @memberof Tileset3DTileContent.prototype
- *
- * @type {boolean}
- * @readonly
- * @private
- */
- ready: {
- get: function () {
- return this._ready;
- },
- },
- /**
- * Gets the promise that will be resolved when the tile's content is ready to render.
- *
- * @memberof Tileset3DTileContent.prototype
- *
- * @type {Promise<Tileset3DTileContent>}
- * @readonly
- * @deprecated
- * @private
- */
- readyPromise: {
- get: function () {
- deprecationWarning(
- "Tileset3DTileContent.readyPromise",
- "Tileset3DTileContent.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for Tileset3DTileContent.ready to return true instead."
- );
- return this._readyPromise;
- },
- },
- 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;
- },
- },
- });
- /**
- * Creates an instance of Tileset3DTileContent from a parsed JSON object
- * @param {Cesium3DTileset} tileset
- * @param {Cesium3DTile} tile
- * @param {Resource} resource
- * @param {object} json
- * @returns {Tileset3DTileContent}
- */
- Tileset3DTileContent.fromJson = function (tileset, tile, resource, json) {
- const content = new Tileset3DTileContent(tileset, tile, resource);
- content._tileset.loadTileset(content._resource, json, content._tile);
- content._ready = true;
- return content;
- };
- /**
- * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
- * always returns <code>false</code> 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. <code>Tileset3DTileContent</code>
- * always returns <code>undefined</code> 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;
|