1 |
- {"ast":null,"code":"/**\n * Manages the defines for the Material\n */\nexport class MaterialDefines {\n /**\n * Creates a new instance\n * @param externalProperties list of external properties to inject into the object\n */\n constructor(externalProperties) {\n /** @internal */\n this._keys = [];\n this._isDirty = true;\n /** @internal */\n this._areLightsDirty = true;\n /** @internal */\n this._areLightsDisposed = false;\n /** @internal */\n this._areAttributesDirty = true;\n /** @internal */\n this._areTexturesDirty = true;\n /** @internal */\n this._areFresnelDirty = true;\n /** @internal */\n this._areMiscDirty = true;\n /** @internal */\n this._arePrePassDirty = true;\n /** @internal */\n this._areImageProcessingDirty = true;\n /** @internal */\n this._normals = false;\n /** @internal */\n this._uvs = false;\n /** @internal */\n this._needNormals = false;\n /** @internal */\n this._needUVs = false;\n this._externalProperties = externalProperties;\n // Initialize External Properties\n if (externalProperties) {\n for (const prop in externalProperties) {\n if (Object.prototype.hasOwnProperty.call(externalProperties, prop)) {\n this._setDefaultValue(prop);\n }\n }\n }\n }\n /**\n * Specifies if the material needs to be re-calculated\n */\n get isDirty() {\n return this._isDirty;\n }\n /**\n * Marks the material to indicate that it has been re-calculated\n */\n markAsProcessed() {\n this._isDirty = false;\n this._areAttributesDirty = false;\n this._areTexturesDirty = false;\n this._areFresnelDirty = false;\n this._areLightsDirty = false;\n this._areLightsDisposed = false;\n this._areMiscDirty = false;\n this._arePrePassDirty = false;\n this._areImageProcessingDirty = false;\n }\n /**\n * Marks the material to indicate that it needs to be re-calculated\n */\n markAsUnprocessed() {\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate all of its defines need to be re-calculated\n */\n markAllAsDirty() {\n this._areTexturesDirty = true;\n this._areAttributesDirty = true;\n this._areLightsDirty = true;\n this._areFresnelDirty = true;\n this._areMiscDirty = true;\n this._arePrePassDirty = false;\n this._areImageProcessingDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate that image processing needs to be re-calculated\n */\n markAsImageProcessingDirty() {\n this._areImageProcessingDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate the lights need to be re-calculated\n * @param disposed Defines whether the light is dirty due to dispose or not\n */\n markAsLightDirty(disposed = false) {\n this._areLightsDirty = true;\n this._areLightsDisposed = this._areLightsDisposed || disposed;\n this._isDirty = true;\n }\n /**\n * Marks the attribute state as changed\n */\n markAsAttributesDirty() {\n this._areAttributesDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the texture state as changed\n */\n markAsTexturesDirty() {\n this._areTexturesDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the fresnel state as changed\n */\n markAsFresnelDirty() {\n this._areFresnelDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the misc state as changed\n */\n markAsMiscDirty() {\n this._areMiscDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the prepass state as changed\n */\n markAsPrePassDirty() {\n this._arePrePassDirty = true;\n this._isDirty = true;\n }\n /**\n * Rebuilds the material defines\n */\n rebuild() {\n this._keys.length = 0;\n for (const key of Object.keys(this)) {\n if (key[0] === \"_\") {\n continue;\n }\n this._keys.push(key);\n }\n if (this._externalProperties) {\n for (const name in this._externalProperties) {\n if (this._keys.indexOf(name) === -1) {\n this._keys.push(name);\n }\n }\n }\n }\n /**\n * Specifies if two material defines are equal\n * @param other - A material define instance to compare to\n * @returns - Boolean indicating if the material defines are equal (true) or not (false)\n */\n isEqual(other) {\n if (this._keys.length !== other._keys.length) {\n return false;\n }\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n if (this[prop] !== other[prop]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Clones this instance's defines to another instance\n * @param other - material defines to clone values to\n */\n cloneTo(other) {\n if (this._keys.length !== other._keys.length) {\n other._keys = this._keys.slice(0);\n }\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n other[prop] = this[prop];\n }\n }\n /**\n * Resets the material define values\n */\n reset() {\n this._keys.forEach(prop => this._setDefaultValue(prop));\n }\n _setDefaultValue(prop) {\n var _this$_externalProper, _this$_externalProper2, _this$_externalProper3;\n const type = (_this$_externalProper = (_this$_externalProper2 = this._externalProperties) === null || _this$_externalProper2 === void 0 || (_this$_externalProper2 = _this$_externalProper2[prop]) === null || _this$_externalProper2 === void 0 ? void 0 : _this$_externalProper2.type) !== null && _this$_externalProper !== void 0 ? _this$_externalProper : typeof this[prop];\n const defValue = (_this$_externalProper3 = this._externalProperties) === null || _this$_externalProper3 === void 0 || (_this$_externalProper3 = _this$_externalProper3[prop]) === null || _this$_externalProper3 === void 0 ? void 0 : _this$_externalProper3.default;\n switch (type) {\n case \"number\":\n this[prop] = defValue !== null && defValue !== void 0 ? defValue : 0;\n break;\n case \"string\":\n this[prop] = defValue !== null && defValue !== void 0 ? defValue : \"\";\n break;\n default:\n this[prop] = defValue !== null && defValue !== void 0 ? defValue : false;\n break;\n }\n }\n /**\n * Converts the material define values to a string\n * @returns - String of material define information\n */\n toString() {\n let result = \"\";\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n const value = this[prop];\n const type = typeof value;\n switch (type) {\n case \"number\":\n case \"string\":\n result += \"#define \" + prop + \" \" + value + \"\\n\";\n break;\n default:\n if (value) {\n result += \"#define \" + prop + \"\\n\";\n }\n break;\n }\n }\n return result;\n }\n}","map":{"version":3,"names":["MaterialDefines","constructor","externalProperties","_keys","_isDirty","_areLightsDirty","_areLightsDisposed","_areAttributesDirty","_areTexturesDirty","_areFresnelDirty","_areMiscDirty","_arePrePassDirty","_areImageProcessingDirty","_normals","_uvs","_needNormals","_needUVs","_externalProperties","prop","Object","prototype","hasOwnProperty","call","_setDefaultValue","isDirty","markAsProcessed","markAsUnprocessed","markAllAsDirty","markAsImageProcessingDirty","markAsLightDirty","disposed","markAsAttributesDirty","markAsTexturesDirty","markAsFresnelDirty","markAsMiscDirty","markAsPrePassDirty","rebuild","length","key","keys","push","name","indexOf","isEqual","other","index","cloneTo","slice","reset","forEach","_this$_externalProper","_this$_externalProper2","_this$_externalProper3","type","defValue","default","toString","result","value"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/materialDefines.js"],"sourcesContent":["/**\n * Manages the defines for the Material\n */\nexport class MaterialDefines {\n /**\n * Creates a new instance\n * @param externalProperties list of external properties to inject into the object\n */\n constructor(externalProperties) {\n /** @internal */\n this._keys = [];\n this._isDirty = true;\n /** @internal */\n this._areLightsDirty = true;\n /** @internal */\n this._areLightsDisposed = false;\n /** @internal */\n this._areAttributesDirty = true;\n /** @internal */\n this._areTexturesDirty = true;\n /** @internal */\n this._areFresnelDirty = true;\n /** @internal */\n this._areMiscDirty = true;\n /** @internal */\n this._arePrePassDirty = true;\n /** @internal */\n this._areImageProcessingDirty = true;\n /** @internal */\n this._normals = false;\n /** @internal */\n this._uvs = false;\n /** @internal */\n this._needNormals = false;\n /** @internal */\n this._needUVs = false;\n this._externalProperties = externalProperties;\n // Initialize External Properties\n if (externalProperties) {\n for (const prop in externalProperties) {\n if (Object.prototype.hasOwnProperty.call(externalProperties, prop)) {\n this._setDefaultValue(prop);\n }\n }\n }\n }\n /**\n * Specifies if the material needs to be re-calculated\n */\n get isDirty() {\n return this._isDirty;\n }\n /**\n * Marks the material to indicate that it has been re-calculated\n */\n markAsProcessed() {\n this._isDirty = false;\n this._areAttributesDirty = false;\n this._areTexturesDirty = false;\n this._areFresnelDirty = false;\n this._areLightsDirty = false;\n this._areLightsDisposed = false;\n this._areMiscDirty = false;\n this._arePrePassDirty = false;\n this._areImageProcessingDirty = false;\n }\n /**\n * Marks the material to indicate that it needs to be re-calculated\n */\n markAsUnprocessed() {\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate all of its defines need to be re-calculated\n */\n markAllAsDirty() {\n this._areTexturesDirty = true;\n this._areAttributesDirty = true;\n this._areLightsDirty = true;\n this._areFresnelDirty = true;\n this._areMiscDirty = true;\n this._arePrePassDirty = false;\n this._areImageProcessingDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate that image processing needs to be re-calculated\n */\n markAsImageProcessingDirty() {\n this._areImageProcessingDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the material to indicate the lights need to be re-calculated\n * @param disposed Defines whether the light is dirty due to dispose or not\n */\n markAsLightDirty(disposed = false) {\n this._areLightsDirty = true;\n this._areLightsDisposed = this._areLightsDisposed || disposed;\n this._isDirty = true;\n }\n /**\n * Marks the attribute state as changed\n */\n markAsAttributesDirty() {\n this._areAttributesDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the texture state as changed\n */\n markAsTexturesDirty() {\n this._areTexturesDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the fresnel state as changed\n */\n markAsFresnelDirty() {\n this._areFresnelDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the misc state as changed\n */\n markAsMiscDirty() {\n this._areMiscDirty = true;\n this._isDirty = true;\n }\n /**\n * Marks the prepass state as changed\n */\n markAsPrePassDirty() {\n this._arePrePassDirty = true;\n this._isDirty = true;\n }\n /**\n * Rebuilds the material defines\n */\n rebuild() {\n this._keys.length = 0;\n for (const key of Object.keys(this)) {\n if (key[0] === \"_\") {\n continue;\n }\n this._keys.push(key);\n }\n if (this._externalProperties) {\n for (const name in this._externalProperties) {\n if (this._keys.indexOf(name) === -1) {\n this._keys.push(name);\n }\n }\n }\n }\n /**\n * Specifies if two material defines are equal\n * @param other - A material define instance to compare to\n * @returns - Boolean indicating if the material defines are equal (true) or not (false)\n */\n isEqual(other) {\n if (this._keys.length !== other._keys.length) {\n return false;\n }\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n if (this[prop] !== other[prop]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Clones this instance's defines to another instance\n * @param other - material defines to clone values to\n */\n cloneTo(other) {\n if (this._keys.length !== other._keys.length) {\n other._keys = this._keys.slice(0);\n }\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n other[prop] = this[prop];\n }\n }\n /**\n * Resets the material define values\n */\n reset() {\n this._keys.forEach((prop) => this._setDefaultValue(prop));\n }\n _setDefaultValue(prop) {\n const type = this._externalProperties?.[prop]?.type ?? typeof this[prop];\n const defValue = this._externalProperties?.[prop]?.default;\n switch (type) {\n case \"number\":\n this[prop] = defValue ?? 0;\n break;\n case \"string\":\n this[prop] = defValue ?? \"\";\n break;\n default:\n this[prop] = defValue ?? false;\n break;\n }\n }\n /**\n * Converts the material define values to a string\n * @returns - String of material define information\n */\n toString() {\n let result = \"\";\n for (let index = 0; index < this._keys.length; index++) {\n const prop = this._keys[index];\n const value = this[prop];\n const type = typeof value;\n switch (type) {\n case \"number\":\n case \"string\":\n result += \"#define \" + prop + \" \" + value + \"\\n\";\n break;\n default:\n if (value) {\n result += \"#define \" + prop + \"\\n\";\n }\n break;\n }\n }\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|