Skip to content

⬅️ Back to Table of Contents

📄 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

Code
set( layer ) {

        this.mask = ( 1 << layer | 0 ) >>> 0;

    }

Layers.enable(layer: number): void

JSDoc:

/**
     * Adds membership of the given layer.
     *
     * @param {number} layer - The layer to enable.
     */

Parameters:

  • layer number

Returns: void

Code
enable( layer ) {

        this.mask |= 1 << layer | 0;

    }

Layers.enableAll(): void

JSDoc:

/**
     * Adds membership to all layers.
     */

Returns: void

Code
enableAll() {

        this.mask = 0xffffffff | 0;

    }

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

Code
toggle( layer ) {

        this.mask ^= 1 << layer | 0;

    }

Layers.disable(layer: number): void

JSDoc:

/**
     * Removes membership of the given layer.
     *
     * @param {number} layer - The layer to enable.
     */

Parameters:

  • layer number

Returns: void

Code
disable( layer ) {

        this.mask &= ~ ( 1 << layer | 0 );

    }

Layers.disableAll(): void

JSDoc:

/**
     * Removes the membership from all layers.
     */

Returns: void

Code
disableAll() {

        this.mask = 0;

    }

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

Code
test( layers ) {

        return ( this.mask & layers.mask ) !== 0;

    }

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

Code
isEnabled( layer ) {

        return ( this.mask & ( 1 << layer | 0 ) ) !== 0;

    }

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;

    }

}

Methods

set(layer: number): void
Code
set( layer ) {

        this.mask = ( 1 << layer | 0 ) >>> 0;

    }
enable(layer: number): void
Code
enable( layer ) {

        this.mask |= 1 << layer | 0;

    }
enableAll(): void
Code
enableAll() {

        this.mask = 0xffffffff | 0;

    }
toggle(layer: number): void
Code
toggle( layer ) {

        this.mask ^= 1 << layer | 0;

    }
disable(layer: number): void
Code
disable( layer ) {

        this.mask &= ~ ( 1 << layer | 0 );

    }
disableAll(): void
Code
disableAll() {

        this.mask = 0;

    }
test(layers: Layers): boolean
Code
test( layers ) {

        return ( this.mask & layers.mask ) !== 0;

    }
isEnabled(layer: number): boolean
Code
isEnabled( layer ) {

        return ( this.mask & ( 1 << layer | 0 ) ) !== 0;

    }