1 |
- {"ast":null,"code":"import { NodeMaterialBlock } from \"../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { LoopBlock } from \"./loopBlock.js\";\nimport { NodeMaterialConnectionPointCustomObject } from \"../nodeMaterialConnectionPointCustomObject.js\";\n/**\n * Block used to write to a variable within a loop\n */\nexport class StorageWriteBlock extends NodeMaterialBlock {\n /**\n * Creates a new StorageWriteBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n this.registerInput(\"loopID\", NodeMaterialBlockConnectionPointTypes.Object, false, undefined, new NodeMaterialConnectionPointCustomObject(\"loopID\", this, 0 /* NodeMaterialConnectionPointDirection.Input */, LoopBlock, \"LoopBlock\"));\n this.registerInput(\"value\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this._linkConnectionTypes(0, 1);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"StorageWriteBlock\";\n }\n /**\n * Gets the loop link component\n */\n get loopID() {\n return this._inputs[0];\n }\n /**\n * Gets the value component\n */\n get value() {\n return this._inputs[1];\n }\n /** Gets a boolean indicating that this connection will be used in the fragment shader\n * @returns true if connected in fragment shader\n */\n isConnectedInFragmentShader() {\n if (!this.loopID.isConnected) {\n return false;\n }\n const loopBlock = this.loopID.connectedPoint.ownerBlock;\n return loopBlock.output.isConnectedInFragmentShader;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const value = this.value;\n if (!this.loopID.isConnected) {\n return this;\n }\n const loopBlock = this.loopID.connectedPoint.ownerBlock;\n state.compilationString += `${loopBlock.output.associatedVariableName} = ${value.associatedVariableName};\\n`;\n return this;\n }\n}\nRegisterClass(\"BABYLON.StorageWriteBlock\", StorageWriteBlock);","map":{"version":3,"names":["NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","LoopBlock","NodeMaterialConnectionPointCustomObject","StorageWriteBlock","constructor","name","Neutral","registerInput","Object","undefined","AutoDetect","_linkConnectionTypes","getClassName","loopID","_inputs","value","isConnectedInFragmentShader","isConnected","loopBlock","connectedPoint","ownerBlock","output","_buildBlock","state","compilationString","associatedVariableName"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/storageWriteBlock.js"],"sourcesContent":["import { NodeMaterialBlock } from \"../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { LoopBlock } from \"./loopBlock.js\";\nimport { NodeMaterialConnectionPointCustomObject } from \"../nodeMaterialConnectionPointCustomObject.js\";\n/**\n * Block used to write to a variable within a loop\n */\nexport class StorageWriteBlock extends NodeMaterialBlock {\n /**\n * Creates a new StorageWriteBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n this.registerInput(\"loopID\", NodeMaterialBlockConnectionPointTypes.Object, false, undefined, new NodeMaterialConnectionPointCustomObject(\"loopID\", this, 0 /* NodeMaterialConnectionPointDirection.Input */, LoopBlock, \"LoopBlock\"));\n this.registerInput(\"value\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this._linkConnectionTypes(0, 1);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"StorageWriteBlock\";\n }\n /**\n * Gets the loop link component\n */\n get loopID() {\n return this._inputs[0];\n }\n /**\n * Gets the value component\n */\n get value() {\n return this._inputs[1];\n }\n /** Gets a boolean indicating that this connection will be used in the fragment shader\n * @returns true if connected in fragment shader\n */\n isConnectedInFragmentShader() {\n if (!this.loopID.isConnected) {\n return false;\n }\n const loopBlock = this.loopID.connectedPoint.ownerBlock;\n return loopBlock.output.isConnectedInFragmentShader;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const value = this.value;\n if (!this.loopID.isConnected) {\n return this;\n }\n const loopBlock = this.loopID.connectedPoint.ownerBlock;\n state.compilationString += `${loopBlock.output.associatedVariableName} = ${value.associatedVariableName};\\n`;\n return this;\n }\n}\nRegisterClass(\"BABYLON.StorageWriteBlock\", StorageWriteBlock);\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,qCAAqC,QAAQ,mDAAmD;AACzG,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,uCAAuC,QAAQ,+CAA+C;AACvG;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,SAASN,iBAAiB,CAAC;EACrD;AACJ;AACA;AACA;EACIO,WAAWA,CAACC,IAAI,EAAE;IACd,KAAK,CAACA,IAAI,EAAEN,wBAAwB,CAACO,OAAO,CAAC;IAC7C,IAAI,CAACC,aAAa,CAAC,QAAQ,EAAET,qCAAqC,CAACU,MAAM,EAAE,KAAK,EAAEC,SAAS,EAAE,IAAIP,uCAAuC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,kDAAkDD,SAAS,EAAE,WAAW,CAAC,CAAC;IACrO,IAAI,CAACM,aAAa,CAAC,OAAO,EAAET,qCAAqC,CAACY,UAAU,CAAC;IAC7E,IAAI,CAACC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;EACnC;EACA;AACJ;AACA;AACA;EACIC,YAAYA,CAAA,EAAG;IACX,OAAO,mBAAmB;EAC9B;EACA;AACJ;AACA;EACI,IAAIC,MAAMA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EAC1B;EACA;AACJ;AACA;EACI,IAAIC,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACD,OAAO,CAAC,CAAC,CAAC;EAC1B;EACA;AACJ;AACA;EACIE,2BAA2BA,CAAA,EAAG;IAC1B,IAAI,CAAC,IAAI,CAACH,MAAM,CAACI,WAAW,EAAE;MAC1B,OAAO,KAAK;IAChB;IACA,MAAMC,SAAS,GAAG,IAAI,CAACL,MAAM,CAACM,cAAc,CAACC,UAAU;IACvD,OAAOF,SAAS,CAACG,MAAM,CAACL,2BAA2B;EACvD;EACAM,WAAWA,CAACC,KAAK,EAAE;IACf,KAAK,CAACD,WAAW,CAACC,KAAK,CAAC;IACxB,MAAMR,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAI,CAAC,IAAI,CAACF,MAAM,CAACI,WAAW,EAAE;MAC1B,OAAO,IAAI;IACf;IACA,MAAMC,SAAS,GAAG,IAAI,CAACL,MAAM,CAACM,cAAc,CAACC,UAAU;IACvDG,KAAK,CAACC,iBAAiB,IAAI,GAAGN,SAAS,CAACG,MAAM,CAACI,sBAAsB,MAAMV,KAAK,CAACU,sBAAsB,KAAK;IAC5G,OAAO,IAAI;EACf;AACJ;AACAzB,aAAa,CAAC,2BAA2B,EAAEG,iBAAiB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|