{"version":3,"file":"MeshBatchUvs.mjs","sources":["../src/MeshBatchUvs.ts"],"sourcesContent":["import type { Buffer, TextureMatrix } from 'pixijs/core';\n\n/**\n * Class controls cache for UV mapping from Texture normal space to BaseTexture normal space.\n * @memberof PIXI\n */\nexport class MeshBatchUvs\n{\n    /** UV Buffer data. */\n    public readonly data: Float32Array;\n\n    /** Buffer with normalized UV's. */\n    public uvBuffer: Buffer;\n\n    /** Material UV matrix. */\n    public uvMatrix: TextureMatrix;\n\n    private _bufferUpdateId: number;\n    private _textureUpdateId: number;\n\n    // Internal-only properties\n    _updateID: number;\n\n    /**\n     * @param uvBuffer - Buffer with normalized uv's\n     * @param uvMatrix - Material UV matrix\n     */\n    constructor(uvBuffer: Buffer, uvMatrix: TextureMatrix)\n    {\n        this.uvBuffer = uvBuffer;\n        this.uvMatrix = uvMatrix;\n        this.data = null;\n\n        this._bufferUpdateId = -1;\n        this._textureUpdateId = -1;\n        this._updateID = 0;\n    }\n\n    /**\n     * Updates\n     * @param forceUpdate - force the update\n     */\n    public update(forceUpdate?: boolean): void\n    {\n        if (!forceUpdate\n            && this._bufferUpdateId === this.uvBuffer._updateID\n            && this._textureUpdateId === this.uvMatrix._updateID\n        )\n        {\n            return;\n        }\n\n        this._bufferUpdateId = this.uvBuffer._updateID;\n        this._textureUpdateId = this.uvMatrix._updateID;\n\n        const data = this.uvBuffer.data as Float32Array;\n\n        if (!this.data || this.data.length !== data.length)\n        {\n            (this.data as any) = new Float32Array(data.length);\n        }\n\n        this.uvMatrix.multiplyUvs(data, this.data);\n\n        this._updateID++;\n    }\n}\n"],"names":[],"mappings":"AAMO,MAAM,YACb,CAAA;AAAA,EAoBI,WAAA,CAAY,UAAkB,QAC9B,EAAA;AACI,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAChB,IAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AAEZ,IAAA,IAAA,CAAK,eAAkB,GAAA,CAAA,CAAA,CAAA;AACvB,IAAA,IAAA,CAAK,gBAAmB,GAAA,CAAA,CAAA,CAAA;AACxB,IAAA,IAAA,CAAK,SAAY,GAAA,CAAA,CAAA;AAAA,GACrB;AAAA,EAMO,OAAO,WACd,EAAA;AACI,IAAI,IAAA,CAAC,WACE,IAAA,IAAA,CAAK,eAAoB,KAAA,IAAA,CAAK,QAAS,CAAA,SAAA,IACvC,IAAK,CAAA,gBAAA,KAAqB,IAAK,CAAA,QAAA,CAAS,SAE/C,EAAA;AACI,MAAA,OAAA;AAAA,KACJ;AAEA,IAAK,IAAA,CAAA,eAAA,GAAkB,KAAK,QAAS,CAAA,SAAA,CAAA;AACrC,IAAK,IAAA,CAAA,gBAAA,GAAmB,KAAK,QAAS,CAAA,SAAA,CAAA;AAEtC,IAAM,MAAA,IAAA,GAAO,KAAK,QAAS,CAAA,IAAA,CAAA;AAE3B,IAAA,IAAI,CAAC,IAAK,CAAA,IAAA,IAAQ,KAAK,IAAK,CAAA,MAAA,KAAW,KAAK,MAC5C,EAAA;AACI,MAAC,IAAK,CAAA,IAAA,GAAe,IAAI,YAAA,CAAa,KAAK,MAAM,CAAA,CAAA;AAAA,KACrD;AAEA,IAAA,IAAA,CAAK,QAAS,CAAA,WAAA,CAAY,IAAM,EAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAEzC,IAAK,IAAA,CAAA,SAAA,EAAA,CAAA;AAAA,GACT;AACJ;;;;"}