nanogl-node
Version:
handle objects transform in 3D space
35 lines (34 loc) • 965 B
TypeScript
import { vec3, quat, mat4 } from 'gl-matrix';
declare class Node {
readonly position: vec3;
readonly rotation: quat;
readonly scale: vec3;
readonly _matrix: mat4;
readonly _wmatrix: mat4;
readonly _wposition: vec3;
_parent: Node | null;
_children: Node[];
private _invalidM;
private _invalidW;
constructor();
rotateX(rad: number): void;
rotateY(rad: number): void;
rotateZ(rad: number): void;
set x(v: number);
set y(v: number);
set z(v: number);
get x(): number;
get y(): number;
get z(): number;
setScale(s: number): void;
lookAt(tgt: vec3): void;
setMatrix(m4: mat4): void;
add(child: Node): void;
remove(child: Node): void;
invalidate(): void;
updateMatrix(): void;
updateWorldMatrix(skipParents?: boolean): void;
_computeWorldMatrix(skipParents: boolean): void;
_hasInvalidWorldMatrix(skipParents: boolean): boolean;
}
export default Node;