@expofp/floorplan
Version:
Interactive floor plan library for expos and events
23 lines • 758 B
TypeScript
export interface SegmentProjection {
readonly projected: {
readonly x: number;
readonly y: number;
};
readonly distance: number;
readonly t: number;
}
interface Point2D {
readonly x: number;
readonly y: number;
}
/**
* Projects `point` onto the segment `a`–`b`, clamping the parameter `t` to
* `[0, 1]` so the result always lies on the segment (not its infinite line).
*
* `t` is the normalized position along the segment: `0` = `a`, `1` = `b`.
* For a zero-length segment (`a` equals `b`) the projection collapses to `a`
* with `t = 0`.
*/
export declare function projectPointOnSegment(point: Point2D, a: Point2D, b: Point2D): SegmentProjection;
export {};
//# sourceMappingURL=projectPointOnSegment.d.ts.map