UNPKG

@thi.ng/scenegraph

Version:

Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support

30 lines 1.2 kB
import type { ICopy, IToHiccup } from "@thi.ng/api"; import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; import { ANode } from "./anode.js"; import type { CommonNodeOpts, ISceneNode } from "./api.js"; export interface Node2DOpts extends CommonNodeOpts<Node2D> { translate?: Vec; rotate?: number; scale?: Vec | number; } export declare class Node2D extends ANode<Node2D> implements ICopy<Node2D>, ISceneNode<Node2D>, IToHiccup { translate: Vec; rotate: number; scale: Vec | number; constructor(opts: Node2DOpts); copy(): Node2D; update(): void; mapGlobalPoint(p: ReadonlyVec): Vec<number>; mapLocalPointToGlobal(p: ReadonlyVec): Vec<number>; mapLocalPointToNode(dest: Node2D, p: ReadonlyVec): Vec<number>; scaleWithReferencePoint(ref: ReadonlyVec, scale: ReadonlyVec | number): this; /** * By implementing this method (`IToHiccup` interface), scene graph nodes * can be directly used by hdom-canvas, hiccup-canvas, rdom-canvas or * hiccup-svg (for the latter one needs to call `convertTree()` first). * * @param ctx - arbitrary user data */ toHiccup(ctx?: any): any; } //# sourceMappingURL=node2.d.ts.map