Skip to content

⬅️ Back to Table of Contents

📄 ConstNode.js

📊 Analysis Summary

Metric Count
🔧 Functions 2
🧱 Classes 1
📦 Imports 1
📊 Variables & Constants 1

📚 Table of Contents

🛠️ File Location:

📂 src/nodes/core/ConstNode.js

📦 Imports

Name Source
InputNode ./InputNode.js

Variables & Constants

Name Type Kind Value Exported
_regNum RegExp let/var /float\|u?int/

Functions

ConstNode.generateConst(builder: NodeBuilder): string

JSDoc:

/**
     * Generates the shader string of the value with the current node builder.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The generated value as a shader string.
     */

Parameters:

  • builder NodeBuilder

Returns: string

Calls:

  • builder.generateConst
  • this.getNodeType
Code
generateConst( builder ) {

        return builder.generateConst( this.getNodeType( builder ), this.value );

    }

ConstNode.generate(builder: any, output: any): any

Parameters:

  • builder any
  • output any

Returns: any

Calls:

  • this.getNodeType
  • _regNum.test
  • builder.generateConst
  • builder.format
  • this.generateConst
Code
generate( builder, output ) {

        const type = this.getNodeType( builder );

        if ( _regNum.test( type ) && _regNum.test( output ) ) {

            return builder.generateConst( output, this.value );

        }

        return builder.format( this.generateConst( builder ), type, output );

    }

Classes

ConstNode

Class Code
class ConstNode extends InputNode {

    static get type() {

        return 'ConstNode';

    }

    /**
     * Constructs a new input node.
     *
     * @param {any} value - The value of this node. Usually a JS primitive or three.js object (vector, matrix, color).
     * @param {?string} nodeType - The node type. If no explicit type is defined, the node tries to derive the type from its value.
     */
    constructor( value, nodeType = null ) {

        super( value, nodeType );

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

    }

    /**
     * Generates the shader string of the value with the current node builder.
     *
     * @param {NodeBuilder} builder - The current node builder.
     * @return {string} The generated value as a shader string.
     */
    generateConst( builder ) {

        return builder.generateConst( this.getNodeType( builder ), this.value );

    }

    generate( builder, output ) {

        const type = this.getNodeType( builder );

        if ( _regNum.test( type ) && _regNum.test( output ) ) {

            return builder.generateConst( output, this.value );

        }

        return builder.format( this.generateConst( builder ), type, output );

    }

}

Methods

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

        return builder.generateConst( this.getNodeType( builder ), this.value );

    }
generate(builder: any, output: any): any
Code
generate( builder, output ) {

        const type = this.getNodeType( builder );

        if ( _regNum.test( type ) && _regNum.test( output ) ) {

            return builder.generateConst( output, this.value );

        }

        return builder.format( this.generateConst( builder ), type, output );

    }