Skip to content

⬅️ Back to Table of Contents

📄 BufferNode.js

📊 Analysis Summary

Metric Count
🔧 Functions 3
🧱 Classes 1
📦 Imports 2

📚 Table of Contents

🛠️ File Location:

📂 src/nodes/accessors/BufferNode.js

📦 Imports

Name Source
UniformNode ../core/UniformNode.js
nodeObject ../tsl/TSLBase.js

Functions

BufferNode.getElementType(builder: NodeBuilder): string

JSDoc:

/**
     * The data type of the buffer elements.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The element type.
     */

Parameters:

  • builder NodeBuilder

Returns: string

Calls:

  • this.getNodeType
Code
getElementType( builder ) {

        return this.getNodeType( builder );

    }

BufferNode.getInputType(): string

JSDoc:

/**
     * Overwrites the default implementation to return a fixed value `'buffer'`.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The input type.
     */

Returns: string

Code
getInputType( /*builder*/ ) {

        return 'buffer';

    }

buffer(value: any[], type: string, count: number): BufferNode

Parameters:

  • value any[]
  • type string
  • count number

Returns: BufferNode

Calls:

  • nodeObject (from ../tsl/TSLBase.js)
Code
( value, type, count ) => nodeObject( new BufferNode( value, type, count ) )

Classes

BufferNode

Class Code
class BufferNode extends UniformNode {

    static get type() {

        return 'BufferNode';

    }

    /**
     * Constructs a new buffer node.
     *
     * @param {Array<number>} value - Array-like buffer data.
     * @param {string} bufferType - The data type of the buffer.
     * @param {number} [bufferCount=0] - The count of buffer elements.
     */
    constructor( value, bufferType, bufferCount = 0 ) {

        super( value, bufferType );

        /**
         * This flag can be used for type testing.
         *
         * @type {boolean}
         * @readonly
         * @default true
         */
        this.isBufferNode = true;

        /**
         * The data type of the buffer.
         *
         * @type {string}
         */
        this.bufferType = bufferType;

        /**
         * The uniform node that holds the value of the reference node.
         *
         * @type {number}
         * @default 0
         */
        this.bufferCount = bufferCount;

    }

    /**
     * The data type of the buffer elements.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The element type.
     */
    getElementType( builder ) {

        return this.getNodeType( builder );

    }

    /**
     * Overwrites the default implementation to return a fixed value `'buffer'`.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The input type.
     */
    getInputType( /*builder*/ ) {

        return 'buffer';

    }

}

Methods

getElementType(builder: NodeBuilder): string
Code
getElementType( builder ) {

        return this.getNodeType( builder );

    }
getInputType(): string
Code
getInputType( /*builder*/ ) {

        return 'buffer';

    }