1 |
- {"ast":null,"code":"import { __decorate } from \"../../../tslib.es6.js\";\nimport { NodeMaterialBlock } from \"../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { InputBlock } from \"./Input/inputBlock.js\";\n/**\n * Operations supported by the ConditionalBlock block\n */\nexport var ConditionalBlockConditions;\n(function (ConditionalBlockConditions) {\n /** Equal */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Equal\"] = 0] = \"Equal\";\n /** NotEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"NotEqual\"] = 1] = \"NotEqual\";\n /** LessThan */\n ConditionalBlockConditions[ConditionalBlockConditions[\"LessThan\"] = 2] = \"LessThan\";\n /** GreaterThan */\n ConditionalBlockConditions[ConditionalBlockConditions[\"GreaterThan\"] = 3] = \"GreaterThan\";\n /** LessOrEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"LessOrEqual\"] = 4] = \"LessOrEqual\";\n /** GreaterOrEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"GreaterOrEqual\"] = 5] = \"GreaterOrEqual\";\n /** Logical Exclusive OR */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Xor\"] = 6] = \"Xor\";\n /** Logical Or */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Or\"] = 7] = \"Or\";\n /** Logical And */\n ConditionalBlockConditions[ConditionalBlockConditions[\"And\"] = 8] = \"And\";\n})(ConditionalBlockConditions || (ConditionalBlockConditions = {}));\n/**\n * Block used to apply conditional operation between floats\n * @since 5.0.0\n */\nexport class ConditionalBlock extends NodeMaterialBlock {\n /**\n * Creates a new ConditionalBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n /**\n * Gets or sets the condition applied by the block\n */\n this.condition = ConditionalBlockConditions.LessThan;\n this.registerInput(\"a\", NodeMaterialBlockConnectionPointTypes.Float);\n this.registerInput(\"b\", NodeMaterialBlockConnectionPointTypes.Float);\n this.registerInput(\"true\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"false\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\n this._linkConnectionTypes(2, 3);\n this._outputs[0]._typeConnectionSource = this._inputs[2];\n this._outputs[0]._defaultConnectionPointType = NodeMaterialBlockConnectionPointTypes.Float;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ConditionalBlock\";\n }\n /**\n * Gets the first operand component\n */\n get a() {\n return this._inputs[0];\n }\n /**\n * Gets the second operand component\n */\n get b() {\n return this._inputs[1];\n }\n /**\n * Gets the value to return if condition is true\n */\n get true() {\n return this._inputs[2];\n }\n /**\n * Gets the value to return if condition is false\n */\n get false() {\n return this._inputs[3];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n autoConfigure(nodeMaterial) {\n if (!this.true.isConnected) {\n const minInput = nodeMaterial.getBlockByPredicate(b => b.isInput && b.value === 1 && b.name === \"True\") || new InputBlock(\"True\");\n minInput.value = 1;\n minInput.output.connectTo(this.true);\n }\n if (!this.false.isConnected) {\n const maxInput = nodeMaterial.getBlockByPredicate(b => b.isInput && b.value === 0 && b.name === \"False\") || new InputBlock(\"False\");\n maxInput.value = 0;\n maxInput.output.connectTo(this.false);\n }\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const output = this._outputs[0];\n const trueStatement = this.true.isConnected ? this.true.associatedVariableName : \"1.0\";\n const falseStatement = this.false.isConnected ? this.false.associatedVariableName : \"0.0\";\n switch (this.condition) {\n case ConditionalBlockConditions.Equal:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} == ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.NotEqual:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} != ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.LessThan:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} < ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.LessOrEqual:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} <= ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.GreaterThan:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} > ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.GreaterOrEqual:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} >= ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.Xor:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `(((${this.a.associatedVariableName} + ${this.b.associatedVariableName}) % 2.0) > 0.0)`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.Or:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `(min(${this.a.associatedVariableName} + ${this.b.associatedVariableName}, 1.0) > 0.0)`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.And:\n {\n state.compilationString += state._declareOutput(output) + ` = ${state._generateTernary(trueStatement, falseStatement, `(${this.a.associatedVariableName} * ${this.b.associatedVariableName} > 0.0)`)};\\n`;\n break;\n }\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.condition = this.condition;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.condition = serializationObject.condition;\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.condition = BABYLON.ConditionalBlockConditions.${ConditionalBlockConditions[this.condition]};\\n`;\n return codeString;\n }\n}\n__decorate([editableInPropertyPage(\"Condition\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: {\n rebuild: true\n },\n embedded: true,\n options: [{\n label: \"Equal\",\n value: ConditionalBlockConditions.Equal\n }, {\n label: \"NotEqual\",\n value: ConditionalBlockConditions.NotEqual\n }, {\n label: \"LessThan\",\n value: ConditionalBlockConditions.LessThan\n }, {\n label: \"GreaterThan\",\n value: ConditionalBlockConditions.GreaterThan\n }, {\n label: \"LessOrEqual\",\n value: ConditionalBlockConditions.LessOrEqual\n }, {\n label: \"GreaterOrEqual\",\n value: ConditionalBlockConditions.GreaterOrEqual\n }, {\n label: \"Xor\",\n value: ConditionalBlockConditions.Xor\n }, {\n label: \"And\",\n value: ConditionalBlockConditions.And\n }, {\n label: \"Or\",\n value: ConditionalBlockConditions.Or\n }]\n})], ConditionalBlock.prototype, \"condition\", void 0);\nRegisterClass(\"BABYLON.ConditionalBlock\", ConditionalBlock);","map":{"version":3,"names":["__decorate","NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","editableInPropertyPage","InputBlock","ConditionalBlockConditions","ConditionalBlock","constructor","name","Neutral","condition","LessThan","registerInput","Float","AutoDetect","registerOutput","BasedOnInput","_linkConnectionTypes","_outputs","_typeConnectionSource","_inputs","_defaultConnectionPointType","getClassName","a","b","true","false","output","autoConfigure","nodeMaterial","isConnected","minInput","getBlockByPredicate","isInput","value","connectTo","maxInput","_buildBlock","state","trueStatement","associatedVariableName","falseStatement","Equal","compilationString","_declareOutput","_generateTernary","NotEqual","LessOrEqual","GreaterThan","GreaterOrEqual","Xor","Or","And","serialize","serializationObject","_deserialize","scene","rootUrl","_dumpPropertiesCode","codeString","_codeVariableName","notifiers","rebuild","embedded","options","label","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/conditionalBlock.js"],"sourcesContent":["import { __decorate } from \"../../../tslib.es6.js\";\nimport { NodeMaterialBlock } from \"../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { InputBlock } from \"./Input/inputBlock.js\";\n/**\n * Operations supported by the ConditionalBlock block\n */\nexport var ConditionalBlockConditions;\n(function (ConditionalBlockConditions) {\n /** Equal */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Equal\"] = 0] = \"Equal\";\n /** NotEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"NotEqual\"] = 1] = \"NotEqual\";\n /** LessThan */\n ConditionalBlockConditions[ConditionalBlockConditions[\"LessThan\"] = 2] = \"LessThan\";\n /** GreaterThan */\n ConditionalBlockConditions[ConditionalBlockConditions[\"GreaterThan\"] = 3] = \"GreaterThan\";\n /** LessOrEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"LessOrEqual\"] = 4] = \"LessOrEqual\";\n /** GreaterOrEqual */\n ConditionalBlockConditions[ConditionalBlockConditions[\"GreaterOrEqual\"] = 5] = \"GreaterOrEqual\";\n /** Logical Exclusive OR */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Xor\"] = 6] = \"Xor\";\n /** Logical Or */\n ConditionalBlockConditions[ConditionalBlockConditions[\"Or\"] = 7] = \"Or\";\n /** Logical And */\n ConditionalBlockConditions[ConditionalBlockConditions[\"And\"] = 8] = \"And\";\n})(ConditionalBlockConditions || (ConditionalBlockConditions = {}));\n/**\n * Block used to apply conditional operation between floats\n * @since 5.0.0\n */\nexport class ConditionalBlock extends NodeMaterialBlock {\n /**\n * Creates a new ConditionalBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n /**\n * Gets or sets the condition applied by the block\n */\n this.condition = ConditionalBlockConditions.LessThan;\n this.registerInput(\"a\", NodeMaterialBlockConnectionPointTypes.Float);\n this.registerInput(\"b\", NodeMaterialBlockConnectionPointTypes.Float);\n this.registerInput(\"true\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"false\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\n this._linkConnectionTypes(2, 3);\n this._outputs[0]._typeConnectionSource = this._inputs[2];\n this._outputs[0]._defaultConnectionPointType = NodeMaterialBlockConnectionPointTypes.Float;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ConditionalBlock\";\n }\n /**\n * Gets the first operand component\n */\n get a() {\n return this._inputs[0];\n }\n /**\n * Gets the second operand component\n */\n get b() {\n return this._inputs[1];\n }\n /**\n * Gets the value to return if condition is true\n */\n get true() {\n return this._inputs[2];\n }\n /**\n * Gets the value to return if condition is false\n */\n get false() {\n return this._inputs[3];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n autoConfigure(nodeMaterial) {\n if (!this.true.isConnected) {\n const minInput = nodeMaterial.getBlockByPredicate((b) => b.isInput && b.value === 1 && b.name === \"True\") || new InputBlock(\"True\");\n minInput.value = 1;\n minInput.output.connectTo(this.true);\n }\n if (!this.false.isConnected) {\n const maxInput = nodeMaterial.getBlockByPredicate((b) => b.isInput && b.value === 0 && b.name === \"False\") || new InputBlock(\"False\");\n maxInput.value = 0;\n maxInput.output.connectTo(this.false);\n }\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const output = this._outputs[0];\n const trueStatement = this.true.isConnected ? this.true.associatedVariableName : \"1.0\";\n const falseStatement = this.false.isConnected ? this.false.associatedVariableName : \"0.0\";\n switch (this.condition) {\n case ConditionalBlockConditions.Equal: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} == ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.NotEqual: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} != ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.LessThan: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} < ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.LessOrEqual: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} <= ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.GreaterThan: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} > ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.GreaterOrEqual: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `${this.a.associatedVariableName} >= ${this.b.associatedVariableName}`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.Xor: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `(((${this.a.associatedVariableName} + ${this.b.associatedVariableName}) % 2.0) > 0.0)`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.Or: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `(min(${this.a.associatedVariableName} + ${this.b.associatedVariableName}, 1.0) > 0.0)`)};\\n`;\n break;\n }\n case ConditionalBlockConditions.And: {\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${state._generateTernary(trueStatement, falseStatement, `(${this.a.associatedVariableName} * ${this.b.associatedVariableName} > 0.0)`)};\\n`;\n break;\n }\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.condition = this.condition;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.condition = serializationObject.condition;\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.condition = BABYLON.ConditionalBlockConditions.${ConditionalBlockConditions[this.condition]};\\n`;\n return codeString;\n }\n}\n__decorate([\n editableInPropertyPage(\"Condition\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: { rebuild: true },\n embedded: true,\n options: [\n { label: \"Equal\", value: ConditionalBlockConditions.Equal },\n { label: \"NotEqual\", value: ConditionalBlockConditions.NotEqual },\n { label: \"LessThan\", value: ConditionalBlockConditions.LessThan },\n { label: \"GreaterThan\", value: ConditionalBlockConditions.GreaterThan },\n { label: \"LessOrEqual\", value: ConditionalBlockConditions.LessOrEqual },\n { label: \"GreaterOrEqual\", value: ConditionalBlockConditions.GreaterOrEqual },\n { label: \"Xor\", value: ConditionalBlockConditions.Xor },\n { label: \"And\", value: ConditionalBlockConditions.And },\n { label: \"Or\", value: ConditionalBlockConditions.Or },\n ],\n })\n], ConditionalBlock.prototype, \"condition\", void 0);\nRegisterClass(\"BABYLON.ConditionalBlock\", ConditionalBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|