@thi.ng/geom
Version:
Functional, polymorphic API for 2D geometry types & SVG generation
21 lines (20 loc) • 803 B
JavaScript
import { cubicFromArc as $arc } from "@thi.ng/geom-splines/cubic-arc";
import { cubicFromLine as $line } from "@thi.ng/geom-splines/cubic-line";
import { cubicFromQuadratic as $quad } from "@thi.ng/geom-splines/cubic-quadratic";
import { Cubic } from "./api/cubic.js";
import { __copyAttribs } from "./internal/copy.js";
import { __pclike } from "./internal/pclike.js";
function cubic(...args) {
return __pclike(Cubic, args);
}
const cubicFromArc = (arc) => $arc(arc.pos, arc.r, arc.axis, arc.start, arc.end).map(
(c) => new Cubic(c, __copyAttribs(arc.attribs))
);
const cubicFromLine = (a, b, attribs) => new Cubic($line(a, b), attribs);
const cubicFromQuadratic = (a, b, c, attribs) => new Cubic($quad(a, b, c), attribs);
export {
cubic,
cubicFromArc,
cubicFromLine,
cubicFromQuadratic
};