@thi.ng/geom
Version:
Functional, polymorphic API for 2D geometry types & SVG generation
33 lines • 1.03 kB
TypeScript
import type { MultiFn3 } from "@thi.ng/defmulti";
import type { ReadonlyVec } from "@thi.ng/vectors";
import type { IShape3 } from "./api.js";
export type RotateAroundAxisFn = {
<T extends IShape3>(shape: T, axis: ReadonlyVec, theta: number): T;
} & MultiFn3<IShape3, ReadonlyVec, number, IShape3>;
/**
* Rotates given 3D shape by `theta` (in radians) around `axis`.
*
* @remarks
* Currently implemented for:
*
* - {@link Cubic3}
* - {@link Group3}
* - {@link Polygon3}
* - {@link Polyline3}
* - {@link Line3}
* - {@link Path3}
* - {@link Points3}
* - {@link Quad3}
* - {@link Quadratic3}
* - {@link Ray3}
* - {@link Triangle3}
*
* @param shape
* @param axis
* @param theta
*/
export declare const rotateAroundAxis: RotateAroundAxisFn;
export declare const rotateX: (shape: IShape3, theta: number) => IShape3;
export declare const rotateY: (shape: IShape3, theta: number) => IShape3;
export declare const rotateZ: (shape: IShape3, theta: number) => IShape3;
//# sourceMappingURL=rotate-around-axis.d.ts.map