{"version":3,"file":"Point3d.mjs","sources":["../../src/proj3d/Point3d.ts"],"sourcesContent":["import { IPoint, IPointData, ObservablePoint, Point } from '@pixi/math';\r\n\r\nexport class Point3d extends Point\r\n{\r\n    // TODO: pixi 6.1.0 global mixin\r\n    z: number;\r\n    constructor(x?: number, y?: number, z?: number)\r\n    {\r\n        super(x, y);\r\n        this.z = z;\r\n    }\r\n\r\n    set(x?: number, y?: number, z?: number): this\r\n    {\r\n        this.x = x || 0;\r\n        this.y = (y === undefined) ? this.x : (y || 0);\r\n        this.z = (y === undefined) ? this.x : (z || 0);\r\n\r\n        return this;\r\n    }\r\n\r\n    copyFrom(p: IPointData): this\r\n    {\r\n        // TODO: pixi 6.1.0 global mixin\r\n        this.set(p.x, p.y, (p as any).z || 0);\r\n\r\n        return this;\r\n    }\r\n\r\n    copyTo<T extends IPoint>(p: T): T\r\n    {\r\n        (p as any).set(this.x, this.y, this.z);\r\n\r\n        return p;\r\n    }\r\n}\r\n\r\nexport class ObservablePoint3d extends ObservablePoint\r\n{\r\n    _z = 0;\r\n\r\n    get z(): number\r\n    {\r\n        return this._z;\r\n    }\r\n\r\n    set z(value: number)\r\n    {\r\n        if (this._z !== value)\r\n        {\r\n            this._z = value;\r\n            this.cb.call(this.scope);\r\n        }\r\n    }\r\n\r\n    set(x?: number, y?: number, z?: number): this\r\n    {\r\n        const _x = x || 0;\r\n        const _y = (y === undefined) ? _x : (y || 0);\r\n        const _z = (y === undefined) ? _x : (z || 0);\r\n\r\n        if (this._x !== _x || this._y !== _y || this._z !== _z)\r\n        {\r\n            this._x = _x;\r\n            this._y = _y;\r\n            this._z = _z;\r\n            this.cb.call(this.scope);\r\n        }\r\n\r\n        return this;\r\n    }\r\n\r\n    copyFrom(p: IPointData): this\r\n    {\r\n        // TODO: pixi 6.1.0 global mixin\r\n        this.set(p.x, p.y, (p as any).z || 0);\r\n\r\n        return this;\r\n    }\r\n\r\n    copyTo<T extends IPoint>(p: T): T\r\n    {\r\n        (p as any).set(this._x, this._y, this._z);\r\n\r\n        return p;\r\n    }\r\n}\r\n"],"names":[],"mappings":"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"}