{"version":3,"file":"Camera3d.mjs","sources":["../../src/proj3d/Camera3d.ts"],"sourcesContent":["import { Container3d } from './Container3d';\r\n\r\nexport class Camera3d extends Container3d\r\n{\r\n    constructor()\r\n    {\r\n        super();\r\n        this.proj.cameraMode = true;\r\n        this.setPlanes(400, 10, 10000, false);\r\n    }\r\n\r\n    _far = 0;\r\n    _near = 0;\r\n    _focus = 0;\r\n    _orthographic = false;\r\n\r\n    get far(): number\r\n    {\r\n        return this._far;\r\n    }\r\n\r\n    get near(): number\r\n    {\r\n        return this._near;\r\n    }\r\n\r\n    get focus(): number\r\n    {\r\n        return this._focus;\r\n    }\r\n\r\n    get ortographic(): boolean\r\n    {\r\n        return this._orthographic;\r\n    }\r\n\r\n    setPlanes(focus: number, near = 10, far = 10000, orthographic = false): void\r\n    {\r\n        this._focus = focus;\r\n        this._near = near;\r\n        this._far = far;\r\n        this._orthographic = orthographic;\r\n\r\n        const proj = this.proj;\r\n        const mat4 = proj.cameraMatrix.mat4;\r\n\r\n        proj._projID++;\r\n\r\n        mat4[10] = 1.0 / (far - near);\r\n        mat4[14] = (focus - near) / (far - near);\r\n        if (this._orthographic)\r\n        {\r\n            mat4[11] = 0;\r\n        }\r\n        else\r\n        {\r\n            mat4[11] = 1.0 / focus;\r\n        }\r\n    }\r\n}\r\n"],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,WAC9B,CAAA;AAAA,EACI,WACA,GAAA;AACI,IAAM,KAAA,EAAA,CAAA;AAKV,IAAO,IAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AACP,IAAQ,IAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AACR,IAAS,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACT,IAAgB,IAAA,CAAA,aAAA,GAAA,KAAA,CAAA;AAPZ,IAAA,IAAA,CAAK,KAAK,UAAa,GAAA,IAAA,CAAA;AACvB,IAAA,IAAA,CAAK,SAAU,CAAA,GAAA,EAAK,EAAI,EAAA,GAAA,EAAO,KAAK,CAAA,CAAA;AAAA,GACxC;AAAA,EAOA,IAAI,GACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,IAAA,CAAA;AAAA,GAChB;AAAA,EAEA,IAAI,IACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,KAAA,CAAA;AAAA,GAChB;AAAA,EAEA,IAAI,KACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,GAChB;AAAA,EAEA,IAAI,WACJ,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,aAAA,CAAA;AAAA,GAChB;AAAA,EAEA,UAAU,KAAe,EAAA,IAAA,GAAO,IAAI,GAAM,GAAA,GAAA,EAAO,eAAe,KAChE,EAAA;AACI,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AACd,IAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AACb,IAAA,IAAA,CAAK,IAAO,GAAA,GAAA,CAAA;AACZ,IAAA,IAAA,CAAK,aAAgB,GAAA,YAAA,CAAA;AAErB,IAAA,MAAM,OAAO,IAAK,CAAA,IAAA,CAAA;AAClB,IAAM,MAAA,IAAA,GAAO,KAAK,YAAa,CAAA,IAAA,CAAA;AAE/B,IAAK,IAAA,CAAA,OAAA,EAAA,CAAA;AAEL,IAAK,IAAA,CAAA,EAAE,CAAI,GAAA,CAAA,IAAO,GAAM,GAAA,IAAA,CAAA,CAAA;AACxB,IAAA,IAAA,CAAK,EAAE,CAAA,GAAA,CAAK,KAAQ,GAAA,IAAA,KAAS,GAAM,GAAA,IAAA,CAAA,CAAA;AACnC,IAAA,IAAI,KAAK,aACT,EAAA;AACI,MAAA,IAAA,CAAK,EAAE,CAAI,GAAA,CAAA,CAAA;AAAA,KAGf,MAAA;AACI,MAAK,IAAA,CAAA,EAAE,IAAI,CAAM,GAAA,KAAA,CAAA;AAAA,KACrB;AAAA,GACJ;AACJ;;;;"}