UNPKG

phaser4-rex-plugins

Version:
38 lines (31 loc) 1.04 kB
/** * @author Richard Davey <rich@photonstorm.com> * @copyright 2019 Photon Storm Ltd. * @license {@link https://opensource.org/licenses/MIT|MIT License} */ import MATH_CONST from '../../math/const.js'; import Angle from './Angle.js'; import Point from '../point/Point.js'; /** * Calculate the normal of the given line. * * The normal of a line is a vector that points perpendicular from it. * * @function Phaser.Geom.Line.GetNormal * @since 3.0.0 * * @generic {Phaser.Geom.Point} O - [out,$return] * * @param {Phaser.Geom.Line} line - The line to calculate the normal of. * @param {(Phaser.Geom.Point|object)} [out] - An optional point object to store the normal in. * * @return {(Phaser.Geom.Point|object)} The normal of the Line. */ var GetNormal = function (line, out) { if (out === undefined) { out = new Point(); } var a = Angle(line) - MATH_CONST.TAU; out.x = Math.cos(a); out.y = Math.sin(a); return out; }; export default GetNormal;