Skip to content

Commit

Permalink
refactor(geom): update proximity() to accept optional distance fn
Browse files Browse the repository at this point in the history
  • Loading branch information
postspectacular committed Jun 20, 2024
1 parent dcf5210 commit df7aef2
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions packages/geom/src/proximity.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import type { IShape } from "./api.js";
import type { ReadonlyVec } from "@thi.ng/vectors";
import { dist } from "@thi.ng/vectors/dist";
import { dist as $dist } from "@thi.ng/vectors/dist";
import type { IShape } from "./api.js";
import { closestPoint } from "./closest-point.js";

/**
* Computes {@link closestPoint} on `shape` to `p`, and if successful, returns
* Eucledian distance between that point and `p`.
* the distance between that point and `p`, using optionally given `dist`ance
* function (by default uses Eucledian distance).
*
* @param shape
* @param p
* @param dist
*/
export const proximity = (shape: IShape, p: ReadonlyVec) => {
export const proximity = (shape: IShape, p: ReadonlyVec, dist = $dist) => {
const q = closestPoint(shape, p);
return q ? dist(p, q) : undefined;
};

0 comments on commit df7aef2

Please sign in to comment.