UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

56 lines (53 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parameter = exports.default = void 0; var _TSLBase = require("../tsl/TSLBase.js"); var _PropertyNode = _interopRequireDefault(require("./PropertyNode.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Special version of {@link PropertyNode} which is used for parameters. * * @augments PropertyNode */ class ParameterNode extends _PropertyNode.default { static get type() { return 'ParameterNode'; } /** * Constructs a new parameter node. * * @param {string} nodeType - The type of the node. * @param {?string} [name=null] - The name of the parameter in the shader. */ constructor(nodeType, name = null) { super(nodeType, name); /** * This flag can be used for type testing. * * @type {boolean} * @readonly * @default true */ this.isParameterNode = true; } getHash() { return this.uuid; } generate() { return this.name; } } var _default = exports.default = ParameterNode; /** * TSL function for creating a parameter node. * * @tsl * @function * @param {string} type - The type of the node. * @param {?string} name - The name of the parameter in the shader. * @returns {ParameterNode} */ const parameter = (type, name) => (0, _TSLBase.nodeObject)(new ParameterNode(type, name)); exports.parameter = parameter;