{"ast":null,"code":"import { __decorate } from \"../../../tslib.es6.js\";\nimport { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { GeometryInputBlock } from \"./geometryInputBlock.js\";\nimport { Vector2, Vector3, Vector4 } from \"../../../Maths/math.vector.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { NodeGeometryContextualSources } from \"../Enums/nodeGeometryContextualSources.js\";\n/**\n * Locks supported by the random block\n */\nexport var RandomBlockLocks;\n(function (RandomBlockLocks) {\n /** None */\n RandomBlockLocks[RandomBlockLocks[\"None\"] = 0] = \"None\";\n /** LoopID */\n RandomBlockLocks[RandomBlockLocks[\"LoopID\"] = 1] = \"LoopID\";\n /** InstanceID */\n RandomBlockLocks[RandomBlockLocks[\"InstanceID\"] = 2] = \"InstanceID\";\n /** Once */\n RandomBlockLocks[RandomBlockLocks[\"Once\"] = 3] = \"Once\";\n})(RandomBlockLocks || (RandomBlockLocks = {}));\n/**\n * Block used to get a random number\n */\nexport class RandomBlock extends NodeGeometryBlock {\n /**\n * Create a new RandomBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this._currentLockId = -1;\n /**\n * Gets or sets a value indicating if that block will lock its value for a specific duration\n */\n this.lockMode = RandomBlockLocks.None;\n this.registerInput(\"min\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerInput(\"max\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.BasedOnInput);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Geometry);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Texture);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Geometry);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Texture);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._linkConnectionTypes(0, 1);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"RandomBlock\";\n }\n /**\n * Gets the min input component\n */\n get min() {\n return this._inputs[0];\n }\n /**\n * Gets the max input component\n */\n get max() {\n return this._inputs[1];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n autoConfigure() {\n if (!this.min.isConnected) {\n const minInput = new GeometryInputBlock(\"Min\");\n minInput.value = 0;\n minInput.output.connectTo(this.min);\n }\n if (!this.max.isConnected) {\n const maxInput = new GeometryInputBlock(\"Max\");\n maxInput.value = 1;\n maxInput.output.connectTo(this.max);\n }\n }\n _buildBlock() {\n let func = null;\n this._currentLockId = -1;\n switch (this.min.type) {\n case NodeGeometryBlockConnectionPointTypes.Int:\n case NodeGeometryBlockConnectionPointTypes.Float:\n {\n func = state => {\n const min = this.min.getConnectedValue(state) || 0;\n const max = this.max.getConnectedValue(state) || 0;\n return min + Math.random() * (max - min);\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector2:\n {\n func = state => {\n const min = this.min.getConnectedValue(state) || Vector2.Zero();\n const max = this.max.getConnectedValue(state) || Vector2.Zero();\n return new Vector2(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y));\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector3:\n {\n func = state => {\n const min = this.min.getConnectedValue(state) || Vector3.Zero();\n const max = this.max.getConnectedValue(state) || Vector3.Zero();\n return new Vector3(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y), min.z + Math.random() * (max.z - min.z));\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector4:\n {\n func = state => {\n const min = this.min.getConnectedValue(state) || Vector4.Zero();\n const max = this.max.getConnectedValue(state) || Vector4.Zero();\n return new Vector4(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y), min.z + Math.random() * (max.z - min.z), min.w + Math.random() * (max.w - min.w));\n };\n break;\n }\n }\n if (this.lockMode === RandomBlockLocks.None || !func) {\n this.output._storedFunction = func;\n } else {\n this.output._storedFunction = state => {\n let lockId = 0;\n switch (this.lockMode) {\n case RandomBlockLocks.InstanceID:\n lockId = state.getContextualValue(NodeGeometryContextualSources.InstanceID, true) || 0;\n break;\n case RandomBlockLocks.LoopID:\n lockId = state.getContextualValue(NodeGeometryContextualSources.LoopID, true) || 0;\n break;\n case RandomBlockLocks.Once:\n lockId = state.buildId || 0;\n break;\n }\n if (this._currentLockId !== lockId || this.lockMode === RandomBlockLocks.None) {\n this._currentLockId = lockId;\n this.output._storedValue = func(state);\n }\n return this.output._storedValue;\n };\n }\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.lockMode = BABYLON.RandomBlockLocks.${RandomBlockLocks[this.lockMode]};\\n`;\n return codeString;\n }\n /**\n * Serializes this block in a JSON representation\n * @returns the serialized block object\n */\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.lockMode = this.lockMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.lockMode = serializationObject.lockMode;\n }\n}\n__decorate([editableInPropertyPage(\"LockMode\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: {\n rebuild: true\n },\n embedded: true,\n options: [{\n label: \"None\",\n value: RandomBlockLocks.None\n }, {\n label: \"LoopID\",\n value: RandomBlockLocks.LoopID\n }, {\n label: \"InstanceID\",\n value: RandomBlockLocks.InstanceID\n }, {\n label: \"Once\",\n value: RandomBlockLocks.Once\n }]\n})], RandomBlock.prototype, \"lockMode\", void 0);\nRegisterClass(\"BABYLON.RandomBlock\", RandomBlock);","map":{"version":3,"names":["__decorate","NodeGeometryBlock","RegisterClass","NodeGeometryBlockConnectionPointTypes","GeometryInputBlock","Vector2","Vector3","Vector4","editableInPropertyPage","NodeGeometryContextualSources","RandomBlockLocks","RandomBlock","constructor","name","_currentLockId","lockMode","None","registerInput","AutoDetect","registerOutput","BasedOnInput","_inputs","excludedConnectionPointTypes","push","Matrix","Geometry","Texture","_outputs","_typeConnectionSource","_linkConnectionTypes","getClassName","min","max","output","autoConfigure","isConnected","minInput","value","connectTo","maxInput","_buildBlock","func","type","Int","Float","state","getConnectedValue","Math","random","Zero","x","y","z","w","_storedFunction","lockId","InstanceID","getContextualValue","LoopID","Once","buildId","_storedValue","_dumpPropertiesCode","codeString","_codeVariableName","serialize","serializationObject","_deserialize","notifiers","rebuild","embedded","options","label","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Meshes/Node/Blocks/randomBlock.js"],"sourcesContent":["import { __decorate } from \"../../../tslib.es6.js\";\nimport { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { GeometryInputBlock } from \"./geometryInputBlock.js\";\nimport { Vector2, Vector3, Vector4 } from \"../../../Maths/math.vector.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { NodeGeometryContextualSources } from \"../Enums/nodeGeometryContextualSources.js\";\n/**\n * Locks supported by the random block\n */\nexport var RandomBlockLocks;\n(function (RandomBlockLocks) {\n /** None */\n RandomBlockLocks[RandomBlockLocks[\"None\"] = 0] = \"None\";\n /** LoopID */\n RandomBlockLocks[RandomBlockLocks[\"LoopID\"] = 1] = \"LoopID\";\n /** InstanceID */\n RandomBlockLocks[RandomBlockLocks[\"InstanceID\"] = 2] = \"InstanceID\";\n /** Once */\n RandomBlockLocks[RandomBlockLocks[\"Once\"] = 3] = \"Once\";\n})(RandomBlockLocks || (RandomBlockLocks = {}));\n/**\n * Block used to get a random number\n */\nexport class RandomBlock extends NodeGeometryBlock {\n /**\n * Create a new RandomBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this._currentLockId = -1;\n /**\n * Gets or sets a value indicating if that block will lock its value for a specific duration\n */\n this.lockMode = RandomBlockLocks.None;\n this.registerInput(\"min\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerInput(\"max\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.BasedOnInput);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Geometry);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Texture);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Geometry);\n this._inputs[1].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Texture);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._linkConnectionTypes(0, 1);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"RandomBlock\";\n }\n /**\n * Gets the min input component\n */\n get min() {\n return this._inputs[0];\n }\n /**\n * Gets the max input component\n */\n get max() {\n return this._inputs[1];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n autoConfigure() {\n if (!this.min.isConnected) {\n const minInput = new GeometryInputBlock(\"Min\");\n minInput.value = 0;\n minInput.output.connectTo(this.min);\n }\n if (!this.max.isConnected) {\n const maxInput = new GeometryInputBlock(\"Max\");\n maxInput.value = 1;\n maxInput.output.connectTo(this.max);\n }\n }\n _buildBlock() {\n let func = null;\n this._currentLockId = -1;\n switch (this.min.type) {\n case NodeGeometryBlockConnectionPointTypes.Int:\n case NodeGeometryBlockConnectionPointTypes.Float: {\n func = (state) => {\n const min = this.min.getConnectedValue(state) || 0;\n const max = this.max.getConnectedValue(state) || 0;\n return min + Math.random() * (max - min);\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector2: {\n func = (state) => {\n const min = this.min.getConnectedValue(state) || Vector2.Zero();\n const max = this.max.getConnectedValue(state) || Vector2.Zero();\n return new Vector2(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y));\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector3: {\n func = (state) => {\n const min = this.min.getConnectedValue(state) || Vector3.Zero();\n const max = this.max.getConnectedValue(state) || Vector3.Zero();\n return new Vector3(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y), min.z + Math.random() * (max.z - min.z));\n };\n break;\n }\n case NodeGeometryBlockConnectionPointTypes.Vector4: {\n func = (state) => {\n const min = this.min.getConnectedValue(state) || Vector4.Zero();\n const max = this.max.getConnectedValue(state) || Vector4.Zero();\n return new Vector4(min.x + Math.random() * (max.x - min.x), min.y + Math.random() * (max.y - min.y), min.z + Math.random() * (max.z - min.z), min.w + Math.random() * (max.w - min.w));\n };\n break;\n }\n }\n if (this.lockMode === RandomBlockLocks.None || !func) {\n this.output._storedFunction = func;\n }\n else {\n this.output._storedFunction = (state) => {\n let lockId = 0;\n switch (this.lockMode) {\n case RandomBlockLocks.InstanceID:\n lockId = state.getContextualValue(NodeGeometryContextualSources.InstanceID, true) || 0;\n break;\n case RandomBlockLocks.LoopID:\n lockId = state.getContextualValue(NodeGeometryContextualSources.LoopID, true) || 0;\n break;\n case RandomBlockLocks.Once:\n lockId = state.buildId || 0;\n break;\n }\n if (this._currentLockId !== lockId || this.lockMode === RandomBlockLocks.None) {\n this._currentLockId = lockId;\n this.output._storedValue = func(state);\n }\n return this.output._storedValue;\n };\n }\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.lockMode = BABYLON.RandomBlockLocks.${RandomBlockLocks[this.lockMode]};\\n`;\n return codeString;\n }\n /**\n * Serializes this block in a JSON representation\n * @returns the serialized block object\n */\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.lockMode = this.lockMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.lockMode = serializationObject.lockMode;\n }\n}\n__decorate([\n editableInPropertyPage(\"LockMode\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: { rebuild: true },\n embedded: true,\n options: [\n { label: \"None\", value: RandomBlockLocks.None },\n { label: \"LoopID\", value: RandomBlockLocks.LoopID },\n { label: \"InstanceID\", value: RandomBlockLocks.InstanceID },\n { label: \"Once\", value: RandomBlockLocks.Once },\n ],\n })\n], RandomBlock.prototype, \"lockMode\", void 0);\nRegisterClass(\"BABYLON.RandomBlock\", RandomBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}