import type { MultiFn1O } from "@thi.ng/defmulti"; import type { Vec } from "@thi.ng/vectors"; import type { IShape, SamplingOpts } from "./api.js"; /** * Extracts/samples vertices from given shape's boundary and returns them as * array. Some shapes also support * [`SamplingOpts`](https://docs.thi.ng/umbrella/geom-resample/interfaces/SamplingOpts.html). * * @remarks * The given sampling options (if any) can also be overridden per shape using * the special `__samples` attribute. If specified, these will be merged with * the options. * * Currently implemented for: * * - {@link AABB} * - {@link Arc} * - {@link BPatch} * - {@link Circle} * - {@link ComplexPolygon} * - {@link Cubic} * - {@link Ellipse} * - {@link Extra} * - {@link Group} * - {@link Line} * - {@link Path} * - {@link Points} * - {@link Points3} * - {@link Quad} * - {@link Quadratic} * - {@link Rect} * - {@link Triangle} * * @example * ```ts * import { circle, vertices } from "@thi.ng/geom"; * * // using default * vertices(circle(100)) * * // specify resolution only * vertices(circle(100), 6) * * // specify more advanced options * vertices(circle(100), { dist: 10 }) * * // using shape attribs * vertices(circle(100, { __samples: { dist: 10 } })) * ``` * * @param shape * @param opts */ export declare const vertices: MultiFn1O, Vec[]>; /** * Takes an array of vertices or an `IShape`. If the latter, calls * {@link vertices} with default options and returns result, else returns * original array. * * @param shape - */ export declare const ensureVertices: (shape: IShape | Vec[]) => Vec[]; //# sourceMappingURL=vertices.d.ts.map