{"version":3,"file":"SimpleMesh.mjs","sources":["../src/SimpleMesh.ts"],"sourcesContent":["import { Texture } from 'pixijs/core';\nimport { Mesh, MeshGeometry, MeshMaterial } from 'pixijs/mesh';\n\nimport type { DRAW_MODES, IArrayBuffer, ITypedArray, Renderer } from 'pixijs/core';\n\n/**\n * The Simple Mesh class mimics Mesh in PixiJS v4, providing easy-to-use constructor arguments.\n * For more robust customization, use {@link PIXI.Mesh}.\n * @memberof PIXI\n */\nexport class SimpleMesh extends Mesh\n{\n    /** Upload vertices buffer each frame. */\n    public autoUpdate: boolean;\n\n    /**\n     * @param texture - The texture to use\n     * @param {Float32Array} [vertices] - if you want to specify the vertices\n     * @param {Float32Array} [uvs] - if you want to specify the uvs\n     * @param {Uint16Array} [indices] - if you want to specify the indices\n     * @param drawMode - the drawMode, can be any of the Mesh.DRAW_MODES consts\n     */\n    constructor(\n        texture: Texture = Texture.EMPTY,\n        vertices?: IArrayBuffer,\n        uvs?: IArrayBuffer,\n        indices?: IArrayBuffer,\n        drawMode?: DRAW_MODES\n    )\n    {\n        const geometry = new MeshGeometry(vertices, uvs, indices);\n\n        geometry.getBuffer('aVertexPosition').static = false;\n\n        const meshMaterial = new MeshMaterial(texture);\n\n        super(geometry, meshMaterial, null, drawMode);\n\n        this.autoUpdate = true;\n    }\n\n    /**\n     * Collection of vertices data.\n     * @type {Float32Array}\n     */\n    get vertices(): ITypedArray\n    {\n        return this.geometry.getBuffer('aVertexPosition').data;\n    }\n    set vertices(value: ITypedArray)\n    {\n        this.geometry.getBuffer('aVertexPosition').data = value;\n    }\n\n    _render(renderer: Renderer): void\n    {\n        if (this.autoUpdate)\n        {\n            this.geometry.getBuffer('aVertexPosition').update();\n        }\n\n        super._render(renderer);\n    }\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,mBAAmB,IAChC,CAAA;AAAA,EAWI,YACI,OAAmB,GAAA,OAAA,CAAQ,OAC3B,QACA,EAAA,GAAA,EACA,SACA,QAEJ,EAAA;AACI,IAAA,MAAM,QAAW,GAAA,IAAI,YAAa,CAAA,QAAA,EAAU,KAAK,OAAO,CAAA,CAAA;AAExD,IAAS,QAAA,CAAA,SAAA,CAAU,iBAAiB,CAAA,CAAE,MAAS,GAAA,KAAA,CAAA;AAE/C,IAAM,MAAA,YAAA,GAAe,IAAI,YAAA,CAAa,OAAO,CAAA,CAAA;AAE7C,IAAM,KAAA,CAAA,QAAA,EAAU,YAAc,EAAA,IAAA,EAAM,QAAQ,CAAA,CAAA;AAE5C,IAAA,IAAA,CAAK,UAAa,GAAA,IAAA,CAAA;AAAA,GACtB;AAAA,EAMA,IAAI,QACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,QAAA,CAAS,SAAU,CAAA,iBAAiB,CAAE,CAAA,IAAA,CAAA;AAAA,GACtD;AAAA,EACA,IAAI,SAAS,KACb,EAAA;AACI,IAAA,IAAA,CAAK,QAAS,CAAA,SAAA,CAAU,iBAAiB,CAAA,CAAE,IAAO,GAAA,KAAA,CAAA;AAAA,GACtD;AAAA,EAEA,QAAQ,QACR,EAAA;AACI,IAAA,IAAI,KAAK,UACT,EAAA;AACI,MAAA,IAAA,CAAK,QAAS,CAAA,SAAA,CAAU,iBAAiB,CAAA,CAAE,MAAO,EAAA,CAAA;AAAA,KACtD;AAEA,IAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA,CAAA;AAAA,GAC1B;AACJ;;;;"}