@thi.ng/geom
Version:
Functional, polymorphic API for 2D geometry types & SVG generation
47 lines • 1.23 kB
TypeScript
import type { MultiFn1O } from "@thi.ng/defmulti";
import type { VecPair } from "@thi.ng/vectors";
import type { IShape, SamplingOpts } from "./api.js";
/**
* Extracts the edges of given shape's boundary and returns them as an iterable
* of vector pairs.
*
* @remarks
* If the shape has a `__samples` attribute, it will be removed in the result to
* avoid recursive application.
*
* Currently implemented for:
*
* - {@link AABB}
* - {@link Arc}
* - {@link BPatch}
* - {@link Circle}
* - {@link ComplexPolygon}
* - {@link Cubic}
* - {@link Ellipse}
* - {@link Group}
* - {@link Line}
* - {@link Path}
* - {@link Polygon}
* - {@link Polyline}
* - {@link Quad}
* - {@link Quadratic}
* - {@link Rect}
* - {@link Triangle}
*
* The implementations for the following shapes **do not** support
* [`SamplingOpts`](https://docs.thi.ng/umbrella/geom/interfaces/SamplingOpts.html)
* (all others do):
*
* - {@link AABB}
* - {@link Line}
* - {@link Polygon}
* - {@link Polyline}
* - {@link Quad}
* - {@link Rect}
* - {@link Triangle}
*
* @param shape
* @param opts
*/
export declare const edges: MultiFn1O<IShape, number | Partial<SamplingOpts>, Iterable<VecPair>>;
//# sourceMappingURL=edges.d.ts.map