{"version":3,"file":"utils.mjs","sources":["../src/utils.ts"],"sourcesContent":["/* eslint-disable no-mixed-operators */\r\nimport { IPointData, Point } from '@pixi/math';\r\n\r\n// eslint-disable-next-line max-len\r\nexport function getIntersectionFactor(p1: IPointData, p2: IPointData, p3: IPointData, p4: IPointData, out: IPointData): number\r\n{\r\n    const A1 = p2.x - p1.x; const B1 = p3.x - p4.x;\r\n    const C1 = p3.x - p1.x;\r\n    const A2 = p2.y - p1.y; const B2 = p3.y - p4.y;\r\n    const C2 = p3.y - p1.y;\r\n    const D = A1 * B2 - A2 * B1;\r\n\r\n    if (Math.abs(D) < 1e-7)\r\n    {\r\n        out.x = A1;\r\n        out.y = A2;\r\n\r\n        return 0;\r\n    }\r\n    const T = C1 * B2 - C2 * B1;\r\n    const U = A1 * C2 - A2 * C1;\r\n\r\n    const t = T / D; const\r\n        u = U / D;\r\n\r\n    if (u < (1e-6) || u - 1 > -1e-6)\r\n    {\r\n        return -1;\r\n    }\r\n\r\n    out.x = p1.x + t * (p2.x - p1.x);\r\n    out.y = p1.y + t * (p2.y - p1.y);\r\n\r\n    return 1;\r\n}\r\n\r\nexport function getPositionFromQuad(p: Array<IPointData>, anchor: IPointData, out: IPointData): IPointData\r\n{\r\n    out = out || new Point();\r\n    const a1 = 1.0 - anchor.x; const\r\n        a2 = 1.0 - a1;\r\n    const b1 = 1.0 - anchor.y; const\r\n        b2 = 1.0 - b1;\r\n\r\n    out.x = (p[0].x * a1 + p[1].x * a2) * b1 + (p[3].x * a1 + p[2].x * a2) * b2;\r\n    out.y = (p[0].y * a1 + p[1].y * a2) * b1 + (p[3].y * a1 + p[2].y * a2) * b2;\r\n\r\n    return out;\r\n}\r\n"],"names":[],"mappings":"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"}