1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- * Indicates what happened the last time this tile was visited for selection.
- * @private
- */
- const TileSelectionResult = {
- /**
- * There was no selection result, perhaps because the tile wasn't visited
- * last frame.
- */
- NONE: 0,
- /**
- * This tile was deemed not visible and culled.
- */
- CULLED: 1,
- /**
- * The tile was selected for rendering.
- */
- RENDERED: 2,
- /**
- * This tile did not meet the required screen-space error and was refined.
- */
- REFINED: 3,
- /**
- * This tile was originally rendered, but it got kicked out of the render list
- * in favor of an ancestor because it is not yet renderable.
- */
- RENDERED_AND_KICKED: 2 | 4,
- /**
- * This tile was originally refined, but its rendered descendants got kicked out of the
- * render list in favor of an ancestor because it is not yet renderable.
- */
- REFINED_AND_KICKED: 3 | 4,
- /**
- * This tile was culled because it was not visible, but it still needs to be loaded
- * and any heights on it need to be updated because the camera's position or the
- * camera's reference frame's origin falls inside this tile. Loading this tile
- * could affect the position of the camera if the camera is currently below
- * terrain or if it is tracking an object whose height is referenced to terrain.
- * And a change in the camera position may, in turn, affect what is culled.
- */
- CULLED_BUT_NEEDED: 1 | 8,
- /**
- * Determines if a selection result indicates that this tile or its descendants were
- * kicked from the render list. In other words, if it is <code>RENDERED_AND_KICKED</code>
- * or <code>REFINED_AND_KICKED</code>.
- *
- * @param {TileSelectionResult} value The selection result to test.
- * @returns {Boolean} true if the tile was kicked, no matter if it was originally rendered or refined.
- */
- wasKicked: function (value) {
- return value >= TileSelectionResult.RENDERED_AND_KICKED;
- },
- /**
- * Determines the original selection result prior to being kicked or CULLED_BUT_NEEDED.
- * If the tile wasn't kicked or CULLED_BUT_NEEDED, the original value is returned.
- * @param {TileSelectionResult} value The selection result.
- * @returns {TileSelectionResult} The original selection result prior to kicking.
- */
- originalResult: function (value) {
- return value & 3;
- },
- /**
- * Converts this selection result to a kick.
- * @param {TileSelectionResult} value The original selection result.
- * @returns {TileSelectionResult} The kicked form of the selection result.
- */
- kick: function (value) {
- return value | 4;
- },
- };
- export default TileSelectionResult;
|