@thi.ng/scenegraph
Version:
Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support
29 lines • 1.11 kB
TypeScript
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 Node3DOpts extends CommonNodeOpts<Node3D> {
translate?: Vec;
rotate?: Vec;
scale?: Vec | number;
}
export declare class Node3D extends ANode<Node3D> implements ICopy<Node3D>, ISceneNode<Node3D>, IToHiccup {
translate: Vec;
rotate: Vec;
scale: Vec | number;
constructor(opts: Node3DOpts);
copy(): Node3D;
update(): void;
mapGlobalPoint(p: ReadonlyVec): Vec<number> | undefined;
mapLocalPointToGlobal(p: ReadonlyVec): Vec<number> | undefined;
mapLocalPointToNode(dest: Node3D, p: ReadonlyVec): Vec<number> | undefined;
scaleWithReferencePoint(ref: ReadonlyVec, scale: ReadonlyVec | number): this;
/**
* Future support planned. No immediate users of this method in a 3D context
* available thus far.
*
* @param ctx - arbitrary user data
*/
toHiccup(ctx?: any): any;
}
//# sourceMappingURL=node3.d.ts.map