1 |
- {"ast":null,"code":"import { Color3, Color4 } from \"../Maths/math.color.js\";\nimport { Matrix, Quaternion, Vector2, Vector3, Vector4 } from \"../Maths/math.vector.js\";\nimport { FlowGraphInteger } from \"./flowGraphInteger.js\";\nfunction isMeshClassName(className) {\n return className === \"Mesh\" || className === \"AbstractMesh\" || className === \"GroundMesh\" || className === \"InstanceMesh\" || className === \"LinesMesh\" || className === \"GoldbergMesh\" || className === \"GreasedLineMesh\" || className === \"TrailMesh\";\n}\nfunction isVectorClassName(className) {\n return className === \"Vector2\" || className === \"Vector3\" || className === \"Vector4\" || className === \"Quaternion\" || className === \"Color3\" || className === \"Color4\";\n}\nfunction parseVector(className, value) {\n if (className === \"Vector2\") {\n return Vector2.FromArray(value);\n } else if (className === \"Vector3\") {\n return Vector3.FromArray(value);\n } else if (className === \"Vector4\") {\n return Vector4.FromArray(value);\n } else if (className === \"Quaternion\") {\n return Quaternion.FromArray(value);\n } else if (className === \"Color3\") {\n return new Color3(value[0], value[1], value[2]);\n } else if (className === \"Color4\") {\n return new Color4(value[0], value[1], value[2], value[3]);\n } else {\n throw new Error(`Unknown vector class name ${className}`);\n }\n}\n/**\n * The default function that serializes values in a context object to a serialization object\n * @param key the key where the value should be stored in the serialization object\n * @param value the value to store\n * @param serializationObject the object where the value will be stored\n */\nexport function defaultValueSerializationFunction(key, value, serializationObject) {\n var _value$getClassName, _value$getClassName2;\n const className = (_value$getClassName = value === null || value === void 0 || (_value$getClassName2 = value.getClassName) === null || _value$getClassName2 === void 0 ? void 0 : _value$getClassName2.call(value)) !== null && _value$getClassName !== void 0 ? _value$getClassName : \"\";\n if (isMeshClassName(className)) {\n serializationObject[key] = {\n name: value.name,\n className\n };\n } else if (isVectorClassName(className)) {\n serializationObject[key] = {\n value: value.asArray(),\n className\n };\n } else {\n serializationObject[key] = value;\n }\n}\n/**\n * The default function that parses values stored in a serialization object\n * @param key the key to the value that will be parsed\n * @param serializationObject the object that will be parsed\n * @param scene\n * @returns\n */\nexport function defaultValueParseFunction(key, serializationObject, scene) {\n const intermediateValue = serializationObject[key];\n let finalValue;\n const className = intermediateValue === null || intermediateValue === void 0 ? void 0 : intermediateValue.className;\n if (isMeshClassName(className)) {\n finalValue = scene.getMeshByName(intermediateValue.name);\n } else if (isVectorClassName(className)) {\n finalValue = parseVector(className, intermediateValue.value);\n } else if (className === \"Matrix\") {\n finalValue = Matrix.FromArray(intermediateValue.value);\n } else if (className === FlowGraphInteger.ClassName) {\n finalValue = FlowGraphInteger.Parse(intermediateValue);\n } else if (intermediateValue && intermediateValue.value !== undefined) {\n finalValue = intermediateValue.value;\n } else {\n finalValue = intermediateValue;\n }\n return finalValue;\n}\n/**\n * Given a name of a flow graph block class, return if this\n * class needs to be created with a path converter. Used in\n * parsing.\n * @param className the name of the flow graph block class\n * @returns a boolean indicating if the class needs a path converter\n */\nexport function needsPathConverter(className) {\n // I am not using the ClassName property here because it was causing a circular dependency\n // that jest didn't like!\n return className === \"FGSetPropertyBlock\" || className === \"FGGetPropertyBlock\" || className === \"FGPlayAnimationBlock\" || className === \"FGMeshPickEventBlock\";\n}","map":{"version":3,"names":["Color3","Color4","Matrix","Quaternion","Vector2","Vector3","Vector4","FlowGraphInteger","isMeshClassName","className","isVectorClassName","parseVector","value","FromArray","Error","defaultValueSerializationFunction","key","serializationObject","_value$getClassName","_value$getClassName2","getClassName","call","name","asArray","defaultValueParseFunction","scene","intermediateValue","finalValue","getMeshByName","ClassName","Parse","undefined","needsPathConverter"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FlowGraph/serialization.js"],"sourcesContent":["import { Color3, Color4 } from \"../Maths/math.color.js\";\nimport { Matrix, Quaternion, Vector2, Vector3, Vector4 } from \"../Maths/math.vector.js\";\nimport { FlowGraphInteger } from \"./flowGraphInteger.js\";\nfunction isMeshClassName(className) {\n return (className === \"Mesh\" ||\n className === \"AbstractMesh\" ||\n className === \"GroundMesh\" ||\n className === \"InstanceMesh\" ||\n className === \"LinesMesh\" ||\n className === \"GoldbergMesh\" ||\n className === \"GreasedLineMesh\" ||\n className === \"TrailMesh\");\n}\nfunction isVectorClassName(className) {\n return className === \"Vector2\" || className === \"Vector3\" || className === \"Vector4\" || className === \"Quaternion\" || className === \"Color3\" || className === \"Color4\";\n}\nfunction parseVector(className, value) {\n if (className === \"Vector2\") {\n return Vector2.FromArray(value);\n }\n else if (className === \"Vector3\") {\n return Vector3.FromArray(value);\n }\n else if (className === \"Vector4\") {\n return Vector4.FromArray(value);\n }\n else if (className === \"Quaternion\") {\n return Quaternion.FromArray(value);\n }\n else if (className === \"Color3\") {\n return new Color3(value[0], value[1], value[2]);\n }\n else if (className === \"Color4\") {\n return new Color4(value[0], value[1], value[2], value[3]);\n }\n else {\n throw new Error(`Unknown vector class name ${className}`);\n }\n}\n/**\n * The default function that serializes values in a context object to a serialization object\n * @param key the key where the value should be stored in the serialization object\n * @param value the value to store\n * @param serializationObject the object where the value will be stored\n */\nexport function defaultValueSerializationFunction(key, value, serializationObject) {\n const className = value?.getClassName?.() ?? \"\";\n if (isMeshClassName(className)) {\n serializationObject[key] = {\n name: value.name,\n className,\n };\n }\n else if (isVectorClassName(className)) {\n serializationObject[key] = {\n value: value.asArray(),\n className,\n };\n }\n else {\n serializationObject[key] = value;\n }\n}\n/**\n * The default function that parses values stored in a serialization object\n * @param key the key to the value that will be parsed\n * @param serializationObject the object that will be parsed\n * @param scene\n * @returns\n */\nexport function defaultValueParseFunction(key, serializationObject, scene) {\n const intermediateValue = serializationObject[key];\n let finalValue;\n const className = intermediateValue?.className;\n if (isMeshClassName(className)) {\n finalValue = scene.getMeshByName(intermediateValue.name);\n }\n else if (isVectorClassName(className)) {\n finalValue = parseVector(className, intermediateValue.value);\n }\n else if (className === \"Matrix\") {\n finalValue = Matrix.FromArray(intermediateValue.value);\n }\n else if (className === FlowGraphInteger.ClassName) {\n finalValue = FlowGraphInteger.Parse(intermediateValue);\n }\n else if (intermediateValue && intermediateValue.value !== undefined) {\n finalValue = intermediateValue.value;\n }\n else {\n finalValue = intermediateValue;\n }\n return finalValue;\n}\n/**\n * Given a name of a flow graph block class, return if this\n * class needs to be created with a path converter. Used in\n * parsing.\n * @param className the name of the flow graph block class\n * @returns a boolean indicating if the class needs a path converter\n */\nexport function needsPathConverter(className) {\n // I am not using the ClassName property here because it was causing a circular dependency\n // that jest didn't like!\n return className === \"FGSetPropertyBlock\" || className === \"FGGetPropertyBlock\" || className === \"FGPlayAnimationBlock\" || className === \"FGMeshPickEventBlock\";\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|