ec7147d816b8edc023210e65d2112606c4dd50b056cb9f0513f48c48b3aa53b4.json 21 KB

1
  1. {"ast":null,"code":"import { __decorate } from \"../tslib.es6.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { RandomGUID } from \"../Misc/guid.js\";\nimport { defaultValueParseFunction, defaultValueSerializationFunction } from \"./serialization.js\";\nimport { Observable } from \"../Misc/observable.js\";\n/**\n * @experimental\n * The context represents the current state and execution of the flow graph.\n * It contains both user-defined variables, which are derived from\n * a more general variable definition, and execution variables that\n * are set by the blocks.\n */\nexport class FlowGraphContext {\n constructor(params) {\n /**\n * A randomly generated GUID for each context.\n */\n this.uniqueId = RandomGUID();\n /**\n * These are the variables defined by a user.\n */\n this._userVariables = {};\n /**\n * These are the variables set by the blocks.\n */\n this._executionVariables = {};\n /**\n * These are the values for the data connection points\n */\n this._connectionValues = {};\n /**\n * These are blocks that have currently pending tasks/listeners that need to be cleaned up.\n */\n this._pendingBlocks = [];\n /**\n * A monotonically increasing ID for each execution.\n * Incremented for every block executed.\n */\n this._executionId = 0;\n /**\n * Observable that is triggered when a node is executed.\n */\n this.onNodeExecutedObservable = new Observable();\n this._configuration = params;\n }\n /**\n * Check if a user-defined variable is defined.\n * @param name the name of the variable\n * @returns true if the variable is defined\n */\n hasVariable(name) {\n return name in this._userVariables;\n }\n /**\n * Set a user-defined variable.\n * @param name the name of the variable\n * @param value the value of the variable\n */\n setVariable(name, value) {\n this._userVariables[name] = value;\n }\n /**\n * Get a user-defined variable.\n * @param name the name of the variable\n * @returns the value of the variable\n */\n getVariable(name) {\n return this._userVariables[name];\n }\n /**\n * Gets all user variables map\n */\n get userVariables() {\n return this._userVariables;\n }\n _getUniqueIdPrefixedName(obj, name) {\n return `${obj.uniqueId}_${name}`;\n }\n /**\n * Set an internal execution variable\n * @internal\n * @param name\n * @param value\n */\n _setExecutionVariable(block, name, value) {\n this._executionVariables[this._getUniqueIdPrefixedName(block, name)] = value;\n }\n /**\n * Get an internal execution variable\n * @internal\n * @param name\n * @returns\n */\n _getExecutionVariable(block, name, defaultValue) {\n if (this._hasExecutionVariable(block, name)) {\n return this._executionVariables[this._getUniqueIdPrefixedName(block, name)];\n } else {\n return defaultValue;\n }\n }\n /**\n * Delete an internal execution variable\n * @internal\n * @param block\n * @param name\n */\n _deleteExecutionVariable(block, name) {\n delete this._executionVariables[this._getUniqueIdPrefixedName(block, name)];\n }\n /**\n * Check if an internal execution variable is defined\n * @internal\n * @param block\n * @param name\n * @returns\n */\n _hasExecutionVariable(block, name) {\n return this._getUniqueIdPrefixedName(block, name) in this._executionVariables;\n }\n /**\n * Check if a connection value is defined\n * @internal\n * @param connectionPoint\n * @returns\n */\n _hasConnectionValue(connectionPoint) {\n return connectionPoint.uniqueId in this._connectionValues;\n }\n /**\n * Set a connection value\n * @internal\n * @param connectionPoint\n * @param value\n */\n _setConnectionValue(connectionPoint, value) {\n this._connectionValues[connectionPoint.uniqueId] = value;\n }\n /**\n * Get a connection value\n * @internal\n * @param connectionPoint\n * @returns\n */\n _getConnectionValue(connectionPoint) {\n return this._connectionValues[connectionPoint.uniqueId];\n }\n /**\n * Get the configuration\n * @internal\n * @param name\n * @param value\n */\n get configuration() {\n return this._configuration;\n }\n /**\n * Add a block to the list of blocks that have pending tasks.\n * @internal\n * @param block\n */\n _addPendingBlock(block) {\n this._pendingBlocks.push(block);\n }\n /**\n * Remove a block from the list of blocks that have pending tasks.\n * @internal\n * @param block\n */\n _removePendingBlock(block) {\n const index = this._pendingBlocks.indexOf(block);\n if (index !== -1) {\n this._pendingBlocks.splice(index, 1);\n }\n }\n /**\n * Clear all pending blocks.\n * @internal\n */\n _clearPendingBlocks() {\n for (const block of this._pendingBlocks) {\n block._cancelPendingTasks(this);\n }\n this._pendingBlocks.length = 0;\n }\n /**\n * @internal\n * Function that notifies the node executed observable\n * @param node\n */\n _notifyExecuteNode(node) {\n this.onNodeExecutedObservable.notifyObservers(node);\n }\n /**\n * @internal\n */\n _increaseExecutionId() {\n this._executionId++;\n }\n /**\n * A monotonically increasing ID for each execution.\n * Incremented for every block executed.\n */\n get executionId() {\n return this._executionId;\n }\n /**\n * Serializes a context\n * @param serializationObject the object to write the values in\n * @param valueSerializationFunction a function to serialize complex values\n */\n serialize(serializationObject = {}, valueSerializationFunction = defaultValueSerializationFunction) {\n serializationObject.uniqueId = this.uniqueId;\n serializationObject._userVariables = {};\n for (const key in this._userVariables) {\n valueSerializationFunction(key, this._userVariables[key], serializationObject._userVariables);\n }\n serializationObject._connectionValues = {};\n for (const key in this._connectionValues) {\n valueSerializationFunction(key, this._connectionValues[key], serializationObject._connectionValues);\n }\n }\n /**\n * @returns the class name of the object.\n */\n getClassName() {\n return \"FGContext\";\n }\n /**\n * Parses a context\n * @param serializationObject the object containing the context serialization values\n * @param options the options for parsing the context\n * @returns\n */\n static Parse(serializationObject, options) {\n var _options$valueParseFu;\n const result = options.graph.createContext();\n const valueParseFunction = (_options$valueParseFu = options.valueParseFunction) !== null && _options$valueParseFu !== void 0 ? _options$valueParseFu : defaultValueParseFunction;\n result.uniqueId = serializationObject.uniqueId;\n for (const key in serializationObject._userVariables) {\n const value = valueParseFunction(key, serializationObject._userVariables, result._configuration.scene);\n result._userVariables[key] = value;\n }\n for (const key in serializationObject._connectionValues) {\n const value = valueParseFunction(key, serializationObject._connectionValues, result._configuration.scene);\n result._connectionValues[key] = value;\n }\n return result;\n }\n}\n__decorate([serialize()], FlowGraphContext.prototype, \"uniqueId\", void 0);","map":{"version":3,"names":["__decorate","serialize","RandomGUID","defaultValueParseFunction","defaultValueSerializationFunction","Observable","FlowGraphContext","constructor","params","uniqueId","_userVariables","_executionVariables","_connectionValues","_pendingBlocks","_executionId","onNodeExecutedObservable","_configuration","hasVariable","name","setVariable","value","getVariable","userVariables","_getUniqueIdPrefixedName","obj","_setExecutionVariable","block","_getExecutionVariable","defaultValue","_hasExecutionVariable","_deleteExecutionVariable","_hasConnectionValue","connectionPoint","_setConnectionValue","_getConnectionValue","configuration","_addPendingBlock","push","_removePendingBlock","index","indexOf","splice","_clearPendingBlocks","_cancelPendingTasks","length","_notifyExecuteNode","node","notifyObservers","_increaseExecutionId","executionId","serializationObject","valueSerializationFunction","key","getClassName","Parse","options","_options$valueParseFu","result","graph","createContext","valueParseFunction","scene","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FlowGraph/flowGraphContext.js"],"sourcesContent":["import { __decorate } from \"../tslib.es6.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { RandomGUID } from \"../Misc/guid.js\";\nimport { defaultValueParseFunction, defaultValueSerializationFunction } from \"./serialization.js\";\nimport { Observable } from \"../Misc/observable.js\";\n/**\n * @experimental\n * The context represents the current state and execution of the flow graph.\n * It contains both user-defined variables, which are derived from\n * a more general variable definition, and execution variables that\n * are set by the blocks.\n */\nexport class FlowGraphContext {\n constructor(params) {\n /**\n * A randomly generated GUID for each context.\n */\n this.uniqueId = RandomGUID();\n /**\n * These are the variables defined by a user.\n */\n this._userVariables = {};\n /**\n * These are the variables set by the blocks.\n */\n this._executionVariables = {};\n /**\n * These are the values for the data connection points\n */\n this._connectionValues = {};\n /**\n * These are blocks that have currently pending tasks/listeners that need to be cleaned up.\n */\n this._pendingBlocks = [];\n /**\n * A monotonically increasing ID for each execution.\n * Incremented for every block executed.\n */\n this._executionId = 0;\n /**\n * Observable that is triggered when a node is executed.\n */\n this.onNodeExecutedObservable = new Observable();\n this._configuration = params;\n }\n /**\n * Check if a user-defined variable is defined.\n * @param name the name of the variable\n * @returns true if the variable is defined\n */\n hasVariable(name) {\n return name in this._userVariables;\n }\n /**\n * Set a user-defined variable.\n * @param name the name of the variable\n * @param value the value of the variable\n */\n setVariable(name, value) {\n this._userVariables[name] = value;\n }\n /**\n * Get a user-defined variable.\n * @param name the name of the variable\n * @returns the value of the variable\n */\n getVariable(name) {\n return this._userVariables[name];\n }\n /**\n * Gets all user variables map\n */\n get userVariables() {\n return this._userVariables;\n }\n _getUniqueIdPrefixedName(obj, name) {\n return `${obj.uniqueId}_${name}`;\n }\n /**\n * Set an internal execution variable\n * @internal\n * @param name\n * @param value\n */\n _setExecutionVariable(block, name, value) {\n this._executionVariables[this._getUniqueIdPrefixedName(block, name)] = value;\n }\n /**\n * Get an internal execution variable\n * @internal\n * @param name\n * @returns\n */\n _getExecutionVariable(block, name, defaultValue) {\n if (this._hasExecutionVariable(block, name)) {\n return this._executionVariables[this._getUniqueIdPrefixedName(block, name)];\n }\n else {\n return defaultValue;\n }\n }\n /**\n * Delete an internal execution variable\n * @internal\n * @param block\n * @param name\n */\n _deleteExecutionVariable(block, name) {\n delete this._executionVariables[this._getUniqueIdPrefixedName(block, name)];\n }\n /**\n * Check if an internal execution variable is defined\n * @internal\n * @param block\n * @param name\n * @returns\n */\n _hasExecutionVariable(block, name) {\n return this._getUniqueIdPrefixedName(block, name) in this._executionVariables;\n }\n /**\n * Check if a connection value is defined\n * @internal\n * @param connectionPoint\n * @returns\n */\n _hasConnectionValue(connectionPoint) {\n return connectionPoint.uniqueId in this._connectionValues;\n }\n /**\n * Set a connection value\n * @internal\n * @param connectionPoint\n * @param value\n */\n _setConnectionValue(connectionPoint, value) {\n this._connectionValues[connectionPoint.uniqueId] = value;\n }\n /**\n * Get a connection value\n * @internal\n * @param connectionPoint\n * @returns\n */\n _getConnectionValue(connectionPoint) {\n return this._connectionValues[connectionPoint.uniqueId];\n }\n /**\n * Get the configuration\n * @internal\n * @param name\n * @param value\n */\n get configuration() {\n return this._configuration;\n }\n /**\n * Add a block to the list of blocks that have pending tasks.\n * @internal\n * @param block\n */\n _addPendingBlock(block) {\n this._pendingBlocks.push(block);\n }\n /**\n * Remove a block from the list of blocks that have pending tasks.\n * @internal\n * @param block\n */\n _removePendingBlock(block) {\n const index = this._pendingBlocks.indexOf(block);\n if (index !== -1) {\n this._pendingBlocks.splice(index, 1);\n }\n }\n /**\n * Clear all pending blocks.\n * @internal\n */\n _clearPendingBlocks() {\n for (const block of this._pendingBlocks) {\n block._cancelPendingTasks(this);\n }\n this._pendingBlocks.length = 0;\n }\n /**\n * @internal\n * Function that notifies the node executed observable\n * @param node\n */\n _notifyExecuteNode(node) {\n this.onNodeExecutedObservable.notifyObservers(node);\n }\n /**\n * @internal\n */\n _increaseExecutionId() {\n this._executionId++;\n }\n /**\n * A monotonically increasing ID for each execution.\n * Incremented for every block executed.\n */\n get executionId() {\n return this._executionId;\n }\n /**\n * Serializes a context\n * @param serializationObject the object to write the values in\n * @param valueSerializationFunction a function to serialize complex values\n */\n serialize(serializationObject = {}, valueSerializationFunction = defaultValueSerializationFunction) {\n serializationObject.uniqueId = this.uniqueId;\n serializationObject._userVariables = {};\n for (const key in this._userVariables) {\n valueSerializationFunction(key, this._userVariables[key], serializationObject._userVariables);\n }\n serializationObject._connectionValues = {};\n for (const key in this._connectionValues) {\n valueSerializationFunction(key, this._connectionValues[key], serializationObject._connectionValues);\n }\n }\n /**\n * @returns the class name of the object.\n */\n getClassName() {\n return \"FGContext\";\n }\n /**\n * Parses a context\n * @param serializationObject the object containing the context serialization values\n * @param options the options for parsing the context\n * @returns\n */\n static Parse(serializationObject, options) {\n const result = options.graph.createContext();\n const valueParseFunction = options.valueParseFunction ?? defaultValueParseFunction;\n result.uniqueId = serializationObject.uniqueId;\n for (const key in serializationObject._userVariables) {\n const value = valueParseFunction(key, serializationObject._userVariables, result._configuration.scene);\n result._userVariables[key] = value;\n }\n for (const key in serializationObject._connectionValues) {\n const value = valueParseFunction(key, serializationObject._connectionValues, result._configuration.scene);\n result._connectionValues[key] = value;\n }\n return result;\n }\n}\n__decorate([\n serialize()\n], FlowGraphContext.prototype, \"uniqueId\", void 0);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}