📄 Layers.js
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 8 |
🧱 Classes | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 src/core/Layers.js
Functions¶
Layers.set(layer: number): void
¶
JSDoc:
/**
* Sets membership to the given layer, and remove membership all other layers.
*
* @param {number} layer - The layer to set.
*/
Parameters:
layer
number
Returns: void
Layers.enable(layer: number): void
¶
JSDoc:
Parameters:
layer
number
Returns: void
Layers.enableAll(): void
¶
JSDoc:
Returns: void
Layers.toggle(layer: number): void
¶
JSDoc:
/**
* Toggles the membership of the given layer.
*
* @param {number} layer - The layer to toggle.
*/
Parameters:
layer
number
Returns: void
Layers.disable(layer: number): void
¶
JSDoc:
Parameters:
layer
number
Returns: void
Layers.disableAll(): void
¶
JSDoc:
Returns: void
Layers.test(layers: Layers): boolean
¶
JSDoc:
/**
* Returns `true` if this and the given layers object have at least one
* layer in common.
*
* @param {Layers} layers - The layers to test.
* @return {boolean } Whether this and the given layers object have at least one layer in common or not.
*/
Parameters:
layers
Layers
Returns: boolean
Layers.isEnabled(layer: number): boolean
¶
JSDoc:
/**
* Returns `true` if the given layer is enabled.
*
* @param {number} layer - The layer to test.
* @return {boolean } Whether the given layer is enabled or not.
*/
Parameters:
layer
number
Returns: boolean
Classes¶
Layers
¶
Class Code
class Layers {
/**
* Constructs a new layers instance, with membership
* initially set to layer `0`.
*/
constructor() {
/**
* A bit mask storing which of the 32 layers this layers object is currently
* a member of.
*
* @type {number}
*/
this.mask = 1 | 0;
}
/**
* Sets membership to the given layer, and remove membership all other layers.
*
* @param {number} layer - The layer to set.
*/
set( layer ) {
this.mask = ( 1 << layer | 0 ) >>> 0;
}
/**
* Adds membership of the given layer.
*
* @param {number} layer - The layer to enable.
*/
enable( layer ) {
this.mask |= 1 << layer | 0;
}
/**
* Adds membership to all layers.
*/
enableAll() {
this.mask = 0xffffffff | 0;
}
/**
* Toggles the membership of the given layer.
*
* @param {number} layer - The layer to toggle.
*/
toggle( layer ) {
this.mask ^= 1 << layer | 0;
}
/**
* Removes membership of the given layer.
*
* @param {number} layer - The layer to enable.
*/
disable( layer ) {
this.mask &= ~ ( 1 << layer | 0 );
}
/**
* Removes the membership from all layers.
*/
disableAll() {
this.mask = 0;
}
/**
* Returns `true` if this and the given layers object have at least one
* layer in common.
*
* @param {Layers} layers - The layers to test.
* @return {boolean } Whether this and the given layers object have at least one layer in common or not.
*/
test( layers ) {
return ( this.mask & layers.mask ) !== 0;
}
/**
* Returns `true` if the given layer is enabled.
*
* @param {number} layer - The layer to test.
* @return {boolean } Whether the given layer is enabled or not.
*/
isEnabled( layer ) {
return ( this.mask & ( 1 << layer | 0 ) ) !== 0;
}
}