@skillpet/circuit
Version:
Circuit diagram library — render electrical schematics from JSON, with interactive SVG, themes, and Vue/React components
28 lines (27 loc) • 1.1 kB
TypeScript
export type XY = readonly [number, number] | Point;
export declare class Point {
readonly x: number;
readonly y: number;
constructor(x: number, y: number);
static fromXY(xy: readonly [number, number]): Point;
add(other: XY): Point;
sub(other: XY): Point;
/** Scalar − this (Python `__rsub__` for scalar). */
subFromScalar(s: number): Point;
mul(other: Point | number): Point;
div(other: Point | number): Point;
neg(): Point;
rotate(angle: number, center?: XY): Point;
mirrorx(centerx?: number): Point;
flip(): Point;
toTuple(): [number, number];
}
export declare function point(x: number, y: number): Point;
/** Python `util.rotate(xy, angle, center)`. */
export declare function rotate(xy: XY, angle: number, center?: XY): Point;
export declare function mirrorx(xy: XY, centerx?: number): Point;
export declare function flip(xy: XY): Point;
export declare function delta(a: XY, b: XY): Point;
export declare function angle(a: XY, b: XY): number;
export declare function dist(a: XY, b: XY): number;
export { linspace } from "./util.js";