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 { InputBlock } from \"./Input/inputBlock.js\";\nimport { MorphTargetsBlock } from \"./Vertex/morphTargetsBlock.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nexport var MeshAttributeExistsBlockTypes;\n(function (MeshAttributeExistsBlockTypes) {\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"None\"] = 0] = \"None\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"Normal\"] = 1] = \"Normal\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"Tangent\"] = 2] = \"Tangent\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"VertexColor\"] = 3] = \"VertexColor\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV1\"] = 4] = \"UV1\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV2\"] = 5] = \"UV2\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV3\"] = 6] = \"UV3\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV4\"] = 7] = \"UV4\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV5\"] = 8] = \"UV5\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV6\"] = 9] = \"UV6\";\n})(MeshAttributeExistsBlockTypes || (MeshAttributeExistsBlockTypes = {}));\n/**\n * Block used to check if Mesh attribute of specified type exists\n * and provide an alternative fallback input for to use in such case\n */\nexport class MeshAttributeExistsBlock extends NodeMaterialBlock {\n /**\n * Creates a new MeshAttributeExistsBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n /**\n * Defines which mesh attribute to use\n */\n this.attributeType = 0 /* MeshAttributeExistsBlockTypes.None */;\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerInput(\"fallback\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._linkConnectionTypes(0, 1);\n // Try to auto determine attributeType\n this._inputs[0].onConnectionObservable.add(other => {\n if (this.attributeType) {\n // But only if not already specified\n return;\n }\n const sourceBlock = other.ownerBlock;\n if (sourceBlock instanceof InputBlock && sourceBlock.isAttribute) {\n switch (sourceBlock.name) {\n case \"color\":\n this.attributeType = 3 /* MeshAttributeExistsBlockTypes.VertexColor */;\n break;\n case \"normal\":\n this.attributeType = 1 /* MeshAttributeExistsBlockTypes.Normal */;\n break;\n case \"tangent\":\n this.attributeType = 2 /* MeshAttributeExistsBlockTypes.Tangent */;\n break;\n case \"uv\":\n this.attributeType = 4 /* MeshAttributeExistsBlockTypes.UV1 */;\n break;\n case \"uv2\":\n this.attributeType = 5 /* MeshAttributeExistsBlockTypes.UV2 */;\n break;\n case \"uv3\":\n this.attributeType = 6 /* MeshAttributeExistsBlockTypes.UV3 */;\n break;\n case \"uv4\":\n this.attributeType = 7 /* MeshAttributeExistsBlockTypes.UV4 */;\n break;\n case \"uv5\":\n this.attributeType = 8 /* MeshAttributeExistsBlockTypes.UV5 */;\n break;\n case \"uv6\":\n this.attributeType = 9 /* MeshAttributeExistsBlockTypes.UV6 */;\n break;\n }\n } else if (sourceBlock instanceof MorphTargetsBlock) {\n var _this$input$connected;\n switch ((_this$input$connected = this.input.connectedPoint) === null || _this$input$connected === void 0 ? void 0 : _this$input$connected.name) {\n case \"normalOutput\":\n this.attributeType = 1 /* MeshAttributeExistsBlockTypes.Normal */;\n break;\n case \"tangentOutput\":\n this.attributeType = 2 /* MeshAttributeExistsBlockTypes.Tangent */;\n break;\n case \"uvOutput\":\n this.attributeType = 4 /* MeshAttributeExistsBlockTypes.UV1 */;\n break;\n }\n }\n });\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"MeshAttributeExistsBlock\";\n }\n /**\n * Gets the input component\n */\n get input() {\n return this._inputs[0];\n }\n /**\n * Gets the fallback component when speciefied attribute doesn't exist\n */\n get fallback() {\n return this._inputs[1];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock(state) {\n super._buildBlock(state);\n let attributeDefine = null;\n switch (this.attributeType) {\n case 3 /* MeshAttributeExistsBlockTypes.VertexColor */:\n attributeDefine = \"VERTEXCOLOR_NME\";\n break;\n case 1 /* MeshAttributeExistsBlockTypes.Normal */:\n attributeDefine = \"NORMAL\";\n break;\n case 2 /* MeshAttributeExistsBlockTypes.Tangent */:\n attributeDefine = \"TANGENT\";\n break;\n case 4 /* MeshAttributeExistsBlockTypes.UV1 */:\n attributeDefine = \"UV1\";\n break;\n case 5 /* MeshAttributeExistsBlockTypes.UV2 */:\n attributeDefine = \"UV2\";\n break;\n case 6 /* MeshAttributeExistsBlockTypes.UV3 */:\n attributeDefine = \"UV3\";\n break;\n case 7 /* MeshAttributeExistsBlockTypes.UV4 */:\n attributeDefine = \"UV4\";\n break;\n case 8 /* MeshAttributeExistsBlockTypes.UV5 */:\n attributeDefine = \"UV5\";\n break;\n case 9 /* MeshAttributeExistsBlockTypes.UV6 */:\n attributeDefine = \"UV6\";\n break;\n }\n const output = state._declareOutput(this.output);\n if (attributeDefine) {\n state.compilationString += `#ifdef ${attributeDefine}\\n`;\n }\n state.compilationString += `${output} = ${this.input.associatedVariableName};\\n`;\n if (attributeDefine) {\n state.compilationString += `#else\\n`;\n state.compilationString += `${output} = ${this.fallback.associatedVariableName};\\n`;\n state.compilationString += `#endif\\n`;\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.attributeType = this.attributeType;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n var _serializationObject$;\n super._deserialize(serializationObject, scene, rootUrl);\n this.attributeType = (_serializationObject$ = serializationObject.attributeType) !== null && _serializationObject$ !== void 0 ? _serializationObject$ : 0 /* MeshAttributeExistsBlockTypes.None */;\n }\n _dumpPropertiesCode() {\n let codeString = super._dumpPropertiesCode();\n codeString += `${this._codeVariableName}.attributeType = ${this.attributeType};\\n`;\n return codeString;\n }\n}\n__decorate([editableInPropertyPage(\"Attribute lookup\", 4 /* PropertyTypeForEdition.List */, undefined, {\n notifiers: {\n update: true\n },\n embedded: true,\n options: [{\n label: \"(None)\",\n value: 0 /* MeshAttributeExistsBlockTypes.None */\n }, {\n label: \"Normal\",\n value: 1 /* MeshAttributeExistsBlockTypes.Normal */\n }, {\n label: \"Tangent\",\n value: 2 /* MeshAttributeExistsBlockTypes.Tangent */\n }, {\n label: \"Vertex Color\",\n value: 3 /* MeshAttributeExistsBlockTypes.VertexColor */\n }, {\n label: \"UV1\",\n value: 4 /* MeshAttributeExistsBlockTypes.UV1 */\n }, {\n label: \"UV2\",\n value: 5 /* MeshAttributeExistsBlockTypes.UV2 */\n }, {\n label: \"UV3\",\n value: 6 /* MeshAttributeExistsBlockTypes.UV3 */\n }, {\n label: \"UV4\",\n value: 7 /* MeshAttributeExistsBlockTypes.UV4 */\n }, {\n label: \"UV5\",\n value: 8 /* MeshAttributeExistsBlockTypes.UV5 */\n }, {\n label: \"UV6\",\n value: 9 /* MeshAttributeExistsBlockTypes.UV6 */\n }]\n})], MeshAttributeExistsBlock.prototype, \"attributeType\", void 0);\nRegisterClass(\"BABYLON.MeshAttributeExistsBlock\", MeshAttributeExistsBlock);","map":{"version":3,"names":["__decorate","NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","InputBlock","MorphTargetsBlock","editableInPropertyPage","MeshAttributeExistsBlockTypes","MeshAttributeExistsBlock","constructor","name","Neutral","attributeType","registerInput","AutoDetect","registerOutput","BasedOnInput","_outputs","_typeConnectionSource","_inputs","_linkConnectionTypes","onConnectionObservable","add","other","sourceBlock","ownerBlock","isAttribute","_this$input$connected","input","connectedPoint","getClassName","fallback","output","_buildBlock","state","attributeDefine","_declareOutput","compilationString","associatedVariableName","serialize","serializationObject","_deserialize","scene","rootUrl","_serializationObject$","_dumpPropertiesCode","codeString","_codeVariableName","undefined","notifiers","update","embedded","options","label","value","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/meshAttributeExistsBlock.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 { InputBlock } from \"./Input/inputBlock.js\";\nimport { MorphTargetsBlock } from \"./Vertex/morphTargetsBlock.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nexport var MeshAttributeExistsBlockTypes;\n(function (MeshAttributeExistsBlockTypes) {\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"None\"] = 0] = \"None\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"Normal\"] = 1] = \"Normal\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"Tangent\"] = 2] = \"Tangent\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"VertexColor\"] = 3] = \"VertexColor\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV1\"] = 4] = \"UV1\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV2\"] = 5] = \"UV2\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV3\"] = 6] = \"UV3\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV4\"] = 7] = \"UV4\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV5\"] = 8] = \"UV5\";\n MeshAttributeExistsBlockTypes[MeshAttributeExistsBlockTypes[\"UV6\"] = 9] = \"UV6\";\n})(MeshAttributeExistsBlockTypes || (MeshAttributeExistsBlockTypes = {}));\n/**\n * Block used to check if Mesh attribute of specified type exists\n * and provide an alternative fallback input for to use in such case\n */\nexport class MeshAttributeExistsBlock extends NodeMaterialBlock {\n /**\n * Creates a new MeshAttributeExistsBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Neutral);\n /**\n * Defines which mesh attribute to use\n */\n this.attributeType = 0 /* MeshAttributeExistsBlockTypes.None */;\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerInput(\"fallback\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.BasedOnInput);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._linkConnectionTypes(0, 1);\n // Try to auto determine attributeType\n this._inputs[0].onConnectionObservable.add((other) => {\n if (this.attributeType) {\n // But only if not already specified\n return;\n }\n const sourceBlock = other.ownerBlock;\n if (sourceBlock instanceof InputBlock && sourceBlock.isAttribute) {\n switch (sourceBlock.name) {\n case \"color\":\n this.attributeType = 3 /* MeshAttributeExistsBlockTypes.VertexColor */;\n break;\n case \"normal\":\n this.attributeType = 1 /* MeshAttributeExistsBlockTypes.Normal */;\n break;\n case \"tangent\":\n this.attributeType = 2 /* MeshAttributeExistsBlockTypes.Tangent */;\n break;\n case \"uv\":\n this.attributeType = 4 /* MeshAttributeExistsBlockTypes.UV1 */;\n break;\n case \"uv2\":\n this.attributeType = 5 /* MeshAttributeExistsBlockTypes.UV2 */;\n break;\n case \"uv3\":\n this.attributeType = 6 /* MeshAttributeExistsBlockTypes.UV3 */;\n break;\n case \"uv4\":\n this.attributeType = 7 /* MeshAttributeExistsBlockTypes.UV4 */;\n break;\n case \"uv5\":\n this.attributeType = 8 /* MeshAttributeExistsBlockTypes.UV5 */;\n break;\n case \"uv6\":\n this.attributeType = 9 /* MeshAttributeExistsBlockTypes.UV6 */;\n break;\n }\n }\n else if (sourceBlock instanceof MorphTargetsBlock) {\n switch (this.input.connectedPoint?.name) {\n case \"normalOutput\":\n this.attributeType = 1 /* MeshAttributeExistsBlockTypes.Normal */;\n break;\n case \"tangentOutput\":\n this.attributeType = 2 /* MeshAttributeExistsBlockTypes.Tangent */;\n break;\n case \"uvOutput\":\n this.attributeType = 4 /* MeshAttributeExistsBlockTypes.UV1 */;\n break;\n }\n }\n });\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"MeshAttributeExistsBlock\";\n }\n /**\n * Gets the input component\n */\n get input() {\n return this._inputs[0];\n }\n /**\n * Gets the fallback component when speciefied attribute doesn't exist\n */\n get fallback() {\n return this._inputs[1];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock(state) {\n super._buildBlock(state);\n let attributeDefine = null;\n switch (this.attributeType) {\n case 3 /* MeshAttributeExistsBlockTypes.VertexColor */:\n attributeDefine = \"VERTEXCOLOR_NME\";\n break;\n case 1 /* MeshAttributeExistsBlockTypes.Normal */:\n attributeDefine = \"NORMAL\";\n break;\n case 2 /* MeshAttributeExistsBlockTypes.Tangent */:\n attributeDefine = \"TANGENT\";\n break;\n case 4 /* MeshAttributeExistsBlockTypes.UV1 */:\n attributeDefine = \"UV1\";\n break;\n case 5 /* MeshAttributeExistsBlockTypes.UV2 */:\n attributeDefine = \"UV2\";\n break;\n case 6 /* MeshAttributeExistsBlockTypes.UV3 */:\n attributeDefine = \"UV3\";\n break;\n case 7 /* MeshAttributeExistsBlockTypes.UV4 */:\n attributeDefine = \"UV4\";\n break;\n case 8 /* MeshAttributeExistsBlockTypes.UV5 */:\n attributeDefine = \"UV5\";\n break;\n case 9 /* MeshAttributeExistsBlockTypes.UV6 */:\n attributeDefine = \"UV6\";\n break;\n }\n const output = state._declareOutput(this.output);\n if (attributeDefine) {\n state.compilationString += `#ifdef ${attributeDefine}\\n`;\n }\n state.compilationString += `${output} = ${this.input.associatedVariableName};\\n`;\n if (attributeDefine) {\n state.compilationString += `#else\\n`;\n state.compilationString += `${output} = ${this.fallback.associatedVariableName};\\n`;\n state.compilationString += `#endif\\n`;\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.attributeType = this.attributeType;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.attributeType = serializationObject.attributeType ?? 0 /* MeshAttributeExistsBlockTypes.None */;\n }\n _dumpPropertiesCode() {\n let codeString = super._dumpPropertiesCode();\n codeString += `${this._codeVariableName}.attributeType = ${this.attributeType};\\n`;\n return codeString;\n }\n}\n__decorate([\n editableInPropertyPage(\"Attribute lookup\", 4 /* PropertyTypeForEdition.List */, undefined, {\n notifiers: { update: true },\n embedded: true,\n options: [\n { label: \"(None)\", value: 0 /* MeshAttributeExistsBlockTypes.None */ },\n { label: \"Normal\", value: 1 /* MeshAttributeExistsBlockTypes.Normal */ },\n { label: \"Tangent\", value: 2 /* MeshAttributeExistsBlockTypes.Tangent */ },\n { label: \"Vertex Color\", value: 3 /* MeshAttributeExistsBlockTypes.VertexColor */ },\n { label: \"UV1\", value: 4 /* MeshAttributeExistsBlockTypes.UV1 */ },\n { label: \"UV2\", value: 5 /* MeshAttributeExistsBlockTypes.UV2 */ },\n { label: \"UV3\", value: 6 /* MeshAttributeExistsBlockTypes.UV3 */ },\n { label: \"UV4\", value: 7 /* MeshAttributeExistsBlockTypes.UV4 */ },\n { label: \"UV5\", value: 8 /* MeshAttributeExistsBlockTypes.UV5 */ },\n { label: \"UV6\", value: 9 /* MeshAttributeExistsBlockTypes.UV6 */ },\n ],\n })\n], MeshAttributeExistsBlock.prototype, \"attributeType\", void 0);\nRegisterClass(\"BABYLON.MeshAttributeExistsBlock\", MeshAttributeExistsBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|