{"version":3,"file":"squaredDistanceToLineSegment.mjs","sources":["../../../src/maths/misc/squaredDistanceToLineSegment.ts"],"sourcesContent":["export function squaredDistanceToLineSegment(\n    x: number, y: number,\n    x1: number, y1: number,\n    x2: number, y2: number\n): number\n{\n    const a = x - x1;\n    const b = y - y1;\n    const c = x2 - x1;\n    const d = y2 - y1;\n\n    const dot = (a * c) + (b * d);\n    const lenSq = (c * c) + (d * d);\n    let param = -1;\n\n    if (lenSq !== 0)\n    {\n        param = dot / lenSq;\n    }\n\n    let xx; let\n        yy;\n\n    if (param < 0)\n    {\n        xx = x1;\n        yy = y1;\n    }\n    else if (param > 1)\n    {\n        xx = x2;\n        yy = y2;\n    }\n\n    else\n    {\n        xx = x1 + (param * c);\n        yy = y1 + (param * d);\n    }\n\n    const dx = x - xx;\n    const dy = y - yy;\n\n    return (dx * dx) + (dy * dy);\n}\n"],"names":[],"mappings":";AAAO,SAAS,6BACZ,CAAW,EAAA,CAAA,EACX,EAAY,EAAA,EAAA,EACZ,IAAY,EAEhB,EAAA;AACI,EAAA,MAAM,IAAI,CAAI,GAAA,EAAA,CAAA;AACd,EAAA,MAAM,IAAI,CAAI,GAAA,EAAA,CAAA;AACd,EAAA,MAAM,IAAI,EAAK,GAAA,EAAA,CAAA;AACf,EAAA,MAAM,IAAI,EAAK,GAAA,EAAA,CAAA;AAEf,EAAM,MAAA,GAAA,GAAO,CAAI,GAAA,CAAA,GAAM,CAAI,GAAA,CAAA,CAAA;AAC3B,EAAM,MAAA,KAAA,GAAS,CAAI,GAAA,CAAA,GAAM,CAAI,GAAA,CAAA,CAAA;AAC7B,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA,CAAA;AAEZ,EAAA,IAAI,UAAU,CACd,EAAA;AACI,IAAA,KAAA,GAAQ,GAAM,GAAA,KAAA,CAAA;AAAA,GAClB;AAEA,EAAI,IAAA,EAAA,CAAA;AAAI,EACJ,IAAA,EAAA,CAAA;AAEJ,EAAA,IAAI,QAAQ,CACZ,EAAA;AACI,IAAK,EAAA,GAAA,EAAA,CAAA;AACL,IAAK,EAAA,GAAA,EAAA,CAAA;AAAA,GACT,MAAA,IACS,QAAQ,CACjB,EAAA;AACI,IAAK,EAAA,GAAA,EAAA,CAAA;AACL,IAAK,EAAA,GAAA,EAAA,CAAA;AAAA,GAIT,MAAA;AACI,IAAA,EAAA,GAAK,KAAM,KAAQ,GAAA,CAAA,CAAA;AACnB,IAAA,EAAA,GAAK,KAAM,KAAQ,GAAA,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,MAAM,KAAK,CAAI,GAAA,EAAA,CAAA;AACf,EAAA,MAAM,KAAK,CAAI,GAAA,EAAA,CAAA;AAEf,EAAQ,OAAA,EAAA,GAAK,KAAO,EAAK,GAAA,EAAA,CAAA;AAC7B;;;;"}