@foblex/2d
Version:
An Angular library for 2D geometric computations, providing classes and utilities for manipulating points, lines, vectors, rectangles, arcs, and transformations.
14 lines • 2.34 kB
JavaScript
import { PointExtensions } from '../point';
export class LineExtensions {
static initialize(point1 = PointExtensions.initialize(), point2 = PointExtensions.initialize()) {
return { point1, point2 };
}
static copy(line) {
return { point1: line.point1, point2: line.point2 };
}
static hypotenuse(line) {
return Math.sqrt(Math.pow((line.point1.x - line.point2.x), 2) +
Math.pow((line.point1.y - line.point2.y), 2));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ibGV4MmQvc3JjL2xpbmUvbGluZS5leHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbkQsTUFBTSxPQUFPLGNBQWM7SUFFbEIsTUFBTSxDQUFDLFVBQVUsQ0FDdEIsU0FBaUIsZUFBZSxDQUFDLFVBQVUsRUFBRSxFQUM3QyxTQUFpQixlQUFlLENBQUMsVUFBVSxFQUFFO1FBRzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVztRQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFXO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxTQUFBLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBSSxDQUFDLENBQUE7WUFDcEMsU0FBQSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUksQ0FBQyxDQUFBLENBQ3JDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJy4uL3BvaW50JztcbmltcG9ydCB7IElMaW5lIH0gZnJvbSAnLi9pLWxpbmUnO1xuXG5leHBvcnQgY2xhc3MgTGluZUV4dGVuc2lvbnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdGlhbGl6ZShcbiAgICBwb2ludDE6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksXG4gICAgcG9pbnQyOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpXG4gICk6IElMaW5lIHtcblxuICAgIHJldHVybiB7IHBvaW50MSwgcG9pbnQyIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvcHkobGluZTogSUxpbmUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHsgcG9pbnQxOiBsaW5lLnBvaW50MSwgcG9pbnQyOiBsaW5lLnBvaW50MiB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBoeXBvdGVudXNlKGxpbmU6IElMaW5lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KFxuICAgICAgKGxpbmUucG9pbnQxLnggLSBsaW5lLnBvaW50Mi54KSAqKiAyICtcbiAgICAgIChsaW5lLnBvaW50MS55IC0gbGluZS5wb2ludDIueSkgKiogMlxuICAgICk7XG4gIH1cbn1cbiJdfQ==