1 |
- {"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 { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\n/**\n * Block used to set positions for a geometry\n */\nexport class SetPositionsBlock extends NodeGeometryBlock {\n /**\n * Create a new SetPositionsBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n /**\n * Gets or sets a boolean indicating that this block can evaluate context\n * Build performance is improved when this value is set to false as the system will cache values instead of reevaluating everything per context change\n */\n this.evaluateContext = true;\n this.registerInput(\"geometry\", NodeGeometryBlockConnectionPointTypes.Geometry);\n this.registerInput(\"positions\", NodeGeometryBlockConnectionPointTypes.Vector3);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.Geometry);\n }\n /**\n * Gets the current index in the current flow\n * @returns the current index\n */\n getExecutionIndex() {\n return this._currentIndex;\n }\n /**\n * Gets the current loop index in the current flow\n * @returns the current loop index\n */\n getExecutionLoopIndex() {\n return this._currentIndex;\n }\n /**\n * Gets the current face index in the current flow\n * @returns the current face index\n */\n getExecutionFaceIndex() {\n return 0;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"SetPositionsBlock\";\n }\n /**\n * Gets the geometry input component\n */\n get geometry() {\n return this._inputs[0];\n }\n /**\n * Gets the positions input component\n */\n get positions() {\n return this._inputs[1];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n _remapVector3Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 3) {\n const remappedIndex = remap[index / 3];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1], source[index + 2]);\n }\n }\n return newData;\n }\n _remapVector4Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 4) {\n const remappedIndex = remap[index / 4];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1], source[index + 2], source[index + 3]);\n }\n }\n return newData;\n }\n _remapVector2Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 2) {\n const remappedIndex = remap[index / 2];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1]);\n }\n }\n return newData;\n }\n _buildBlock(state) {\n const func = state => {\n state.pushExecutionContext(this);\n this._vertexData = this.geometry.getConnectedValue(state);\n if (this._vertexData) {\n this._vertexData = this._vertexData.clone(); // Preserve source data\n }\n state.pushGeometryContext(this._vertexData);\n if (!this._vertexData || !this._vertexData.positions || !this.positions.isConnected) {\n state.restoreGeometryContext();\n state.restoreExecutionContext();\n this.output._storedValue = null;\n return;\n }\n // Processing\n const remap = {};\n const vertexCount = this._vertexData.positions.length / 3;\n const newPositions = [];\n let activeIndex = 0;\n let resize = false;\n for (this._currentIndex = 0; this._currentIndex < vertexCount; this._currentIndex++) {\n const tempVector3 = this.positions.getConnectedValue(state);\n if (tempVector3) {\n tempVector3.toArray(newPositions, activeIndex * 3);\n remap[this._currentIndex] = activeIndex;\n activeIndex++;\n } else {\n resize = true;\n }\n }\n if (resize) {\n // Indices remap\n if (this._vertexData.indices) {\n const newIndices = [];\n for (let index = 0; index < this._vertexData.indices.length; index += 3) {\n const a = this._vertexData.indices[index];\n const b = this._vertexData.indices[index + 1];\n const c = this._vertexData.indices[index + 2];\n const remappedA = remap[a];\n const remappedB = remap[b];\n const remappedC = remap[c];\n if (remappedA !== undefined && remappedB !== undefined && remappedC !== undefined) {\n newIndices.push(remappedA);\n newIndices.push(remappedB);\n newIndices.push(remappedC);\n }\n }\n this._vertexData.indices = newIndices;\n }\n // Normals remap\n if (this._vertexData.normals) {\n this._vertexData.normals = this._remapVector3Data(this._vertexData.normals, remap);\n }\n // Tangents remap\n if (this._vertexData.tangents) {\n this._vertexData.tangents = this._remapVector4Data(this._vertexData.tangents, remap);\n }\n // Colors remap\n if (this._vertexData.colors) {\n this._vertexData.colors = this._remapVector4Data(this._vertexData.colors, remap);\n }\n // UVs remap\n if (this._vertexData.uvs) {\n this._vertexData.uvs = this._remapVector2Data(this._vertexData.uvs, remap);\n }\n if (this._vertexData.uvs2) {\n this._vertexData.uvs2 = this._remapVector2Data(this._vertexData.uvs2, remap);\n }\n if (this._vertexData.uvs3) {\n this._vertexData.uvs3 = this._remapVector2Data(this._vertexData.uvs3, remap);\n }\n if (this._vertexData.uvs4) {\n this._vertexData.uvs4 = this._remapVector2Data(this._vertexData.uvs4, remap);\n }\n if (this._vertexData.uvs5) {\n this._vertexData.uvs5 = this._remapVector2Data(this._vertexData.uvs5, remap);\n }\n if (this._vertexData.uvs6) {\n this._vertexData.uvs6 = this._remapVector2Data(this._vertexData.uvs6, remap);\n }\n }\n // Update positions\n this._vertexData.positions = newPositions;\n // Storage\n state.restoreGeometryContext();\n state.restoreExecutionContext();\n return this._vertexData;\n };\n if (this.evaluateContext) {\n this.output._storedFunction = func;\n } else {\n this.output._storedFunction = null;\n this.output._storedValue = func(state);\n }\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.evaluateContext = ${this.evaluateContext ? \"true\" : \"false\"};\\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.evaluateContext = this.evaluateContext;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n if (serializationObject.evaluateContext !== undefined) {\n this.evaluateContext = serializationObject.evaluateContext;\n }\n }\n}\n__decorate([editableInPropertyPage(\"Evaluate context\", 0 /* PropertyTypeForEdition.Boolean */, \"ADVANCED\", {\n embedded: true,\n notifiers: {\n rebuild: true\n }\n})], SetPositionsBlock.prototype, \"evaluateContext\", void 0);\nRegisterClass(\"BABYLON.SetPositionsBlock\", SetPositionsBlock);","map":{"version":3,"names":["__decorate","NodeGeometryBlock","RegisterClass","NodeGeometryBlockConnectionPointTypes","editableInPropertyPage","SetPositionsBlock","constructor","name","evaluateContext","registerInput","Geometry","Vector3","registerOutput","getExecutionIndex","_currentIndex","getExecutionLoopIndex","getExecutionFaceIndex","getClassName","geometry","_inputs","positions","output","_outputs","_remapVector3Data","source","remap","newData","index","length","remappedIndex","undefined","push","_remapVector4Data","_remapVector2Data","_buildBlock","state","func","pushExecutionContext","_vertexData","getConnectedValue","clone","pushGeometryContext","isConnected","restoreGeometryContext","restoreExecutionContext","_storedValue","vertexCount","newPositions","activeIndex","resize","tempVector3","toArray","indices","newIndices","a","b","c","remappedA","remappedB","remappedC","normals","tangents","colors","uvs","uvs2","uvs3","uvs4","uvs5","uvs6","_storedFunction","_dumpPropertiesCode","codeString","_codeVariableName","serialize","serializationObject","_deserialize","embedded","notifiers","rebuild","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Meshes/Node/Blocks/Set/setPositionsBlock.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 { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\n/**\n * Block used to set positions for a geometry\n */\nexport class SetPositionsBlock extends NodeGeometryBlock {\n /**\n * Create a new SetPositionsBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n /**\n * Gets or sets a boolean indicating that this block can evaluate context\n * Build performance is improved when this value is set to false as the system will cache values instead of reevaluating everything per context change\n */\n this.evaluateContext = true;\n this.registerInput(\"geometry\", NodeGeometryBlockConnectionPointTypes.Geometry);\n this.registerInput(\"positions\", NodeGeometryBlockConnectionPointTypes.Vector3);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.Geometry);\n }\n /**\n * Gets the current index in the current flow\n * @returns the current index\n */\n getExecutionIndex() {\n return this._currentIndex;\n }\n /**\n * Gets the current loop index in the current flow\n * @returns the current loop index\n */\n getExecutionLoopIndex() {\n return this._currentIndex;\n }\n /**\n * Gets the current face index in the current flow\n * @returns the current face index\n */\n getExecutionFaceIndex() {\n return 0;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"SetPositionsBlock\";\n }\n /**\n * Gets the geometry input component\n */\n get geometry() {\n return this._inputs[0];\n }\n /**\n * Gets the positions input component\n */\n get positions() {\n return this._inputs[1];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n _remapVector3Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 3) {\n const remappedIndex = remap[index / 3];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1], source[index + 2]);\n }\n }\n return newData;\n }\n _remapVector4Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 4) {\n const remappedIndex = remap[index / 4];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1], source[index + 2], source[index + 3]);\n }\n }\n return newData;\n }\n _remapVector2Data(source, remap) {\n const newData = [];\n for (let index = 0; index < source.length; index += 2) {\n const remappedIndex = remap[index / 2];\n if (remappedIndex !== undefined) {\n newData.push(source[index], source[index + 1]);\n }\n }\n return newData;\n }\n _buildBlock(state) {\n const func = (state) => {\n state.pushExecutionContext(this);\n this._vertexData = this.geometry.getConnectedValue(state);\n if (this._vertexData) {\n this._vertexData = this._vertexData.clone(); // Preserve source data\n }\n state.pushGeometryContext(this._vertexData);\n if (!this._vertexData || !this._vertexData.positions || !this.positions.isConnected) {\n state.restoreGeometryContext();\n state.restoreExecutionContext();\n this.output._storedValue = null;\n return;\n }\n // Processing\n const remap = {};\n const vertexCount = this._vertexData.positions.length / 3;\n const newPositions = [];\n let activeIndex = 0;\n let resize = false;\n for (this._currentIndex = 0; this._currentIndex < vertexCount; this._currentIndex++) {\n const tempVector3 = this.positions.getConnectedValue(state);\n if (tempVector3) {\n tempVector3.toArray(newPositions, activeIndex * 3);\n remap[this._currentIndex] = activeIndex;\n activeIndex++;\n }\n else {\n resize = true;\n }\n }\n if (resize) {\n // Indices remap\n if (this._vertexData.indices) {\n const newIndices = [];\n for (let index = 0; index < this._vertexData.indices.length; index += 3) {\n const a = this._vertexData.indices[index];\n const b = this._vertexData.indices[index + 1];\n const c = this._vertexData.indices[index + 2];\n const remappedA = remap[a];\n const remappedB = remap[b];\n const remappedC = remap[c];\n if (remappedA !== undefined && remappedB !== undefined && remappedC !== undefined) {\n newIndices.push(remappedA);\n newIndices.push(remappedB);\n newIndices.push(remappedC);\n }\n }\n this._vertexData.indices = newIndices;\n }\n // Normals remap\n if (this._vertexData.normals) {\n this._vertexData.normals = this._remapVector3Data(this._vertexData.normals, remap);\n }\n // Tangents remap\n if (this._vertexData.tangents) {\n this._vertexData.tangents = this._remapVector4Data(this._vertexData.tangents, remap);\n }\n // Colors remap\n if (this._vertexData.colors) {\n this._vertexData.colors = this._remapVector4Data(this._vertexData.colors, remap);\n }\n // UVs remap\n if (this._vertexData.uvs) {\n this._vertexData.uvs = this._remapVector2Data(this._vertexData.uvs, remap);\n }\n if (this._vertexData.uvs2) {\n this._vertexData.uvs2 = this._remapVector2Data(this._vertexData.uvs2, remap);\n }\n if (this._vertexData.uvs3) {\n this._vertexData.uvs3 = this._remapVector2Data(this._vertexData.uvs3, remap);\n }\n if (this._vertexData.uvs4) {\n this._vertexData.uvs4 = this._remapVector2Data(this._vertexData.uvs4, remap);\n }\n if (this._vertexData.uvs5) {\n this._vertexData.uvs5 = this._remapVector2Data(this._vertexData.uvs5, remap);\n }\n if (this._vertexData.uvs6) {\n this._vertexData.uvs6 = this._remapVector2Data(this._vertexData.uvs6, remap);\n }\n }\n // Update positions\n this._vertexData.positions = newPositions;\n // Storage\n state.restoreGeometryContext();\n state.restoreExecutionContext();\n return this._vertexData;\n };\n if (this.evaluateContext) {\n this.output._storedFunction = func;\n }\n else {\n this.output._storedFunction = null;\n this.output._storedValue = func(state);\n }\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.evaluateContext = ${this.evaluateContext ? \"true\" : \"false\"};\\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.evaluateContext = this.evaluateContext;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n if (serializationObject.evaluateContext !== undefined) {\n this.evaluateContext = serializationObject.evaluateContext;\n }\n }\n}\n__decorate([\n editableInPropertyPage(\"Evaluate context\", 0 /* PropertyTypeForEdition.Boolean */, \"ADVANCED\", { embedded: true, notifiers: { rebuild: true } })\n], SetPositionsBlock.prototype, \"evaluateContext\", void 0);\nRegisterClass(\"BABYLON.SetPositionsBlock\", SetPositionsBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|