UNPKG

sandai-react

Version:

React components and utilities for the Sandai 3D AI Characters.

120 lines 3.74 kB
import { Quaternion } from "./three"; export type JointRotations = { childCoordsRotation?: JointRotations; quat: { raw: Quaternion; norm: Quaternion; preapplied?: { raw: Quaternion; norm: Quaternion; }; }; angles?: { raw: readonly [number, number, number]; norm: readonly [number, number, number]; preapplied: { raw: readonly [number, number, number]; norm: readonly [number, number, number]; }; }; normalizedAngles: [number, number, number]; rawAngles: [number, number, number]; }; type JointNode<T extends string> = { position: [number, number, number]; tiltTo: [number, number, number]; relPosition?: [number, number, number]; relMutPosition?: [number, number, number]; relTiltTo?: [number, number, number]; relMutTiltTo?: [number, number, number]; rotation?: [T, JointRotations][]; offset?: [number, number, number]; parent?: T | undefined; coordinateConversion?: { x: "x" | "y" | "z"; y: "x" | "y" | "z"; z: "x" | "y" | "z"; }; children?: [T, JointNode<T>][]; }; export declare class Pose3DBoneMapper { static calculateNodeForVec3(origin: { x: number; y: number; z: number; }, target: { x: number; y: number; z: number; }, tiltTo?: { x: number; y: number; z: number; }): { origin: any; target: any; tiltTo: [number, number, number] | undefined; quat: Quaternion; angles: readonly [number, number, number]; normalizedAngles: [number, number, number]; rawAngles: [number, number, number]; }; static calculateNode(origin: [number, number, number], target: [number, number, number], tiltTo?: [number, number, number], coordinateConversion?: { x: "x" | "y" | "z"; y: "x" | "y" | "z"; z: "x" | "y" | "z"; }, parent?: { rotation: { quat: Quaternion; angles: readonly [number, number, number]; rawAngles: [number, number, number]; normalizedAngles: [number, number, number]; }; position: { origin: [number, number, number]; }; }): { origin: any; target: any; tiltTo: [number, number, number] | undefined; quat: Quaternion; angles: readonly [number, number, number]; normalizedAngles: [number, number, number]; rawAngles: [number, number, number]; }; _findChildren<T extends string>(parent: T, nodeEntries: [ T, { position: [number, number, number]; tiltTo: [number, number, number]; parent?: T; } ][]): [string, JointNode<T>][]; private _getRotationsForCoordinates; private _convertCoordinates; private _addRawRotation; private _addTreeRotations; _flattenTreeChildren<T extends string>(rootChildren: [T, JointNode<T>][]): [T, JointNode<T>][]; _flattenTree<T extends string>(rootNode: [T, JointNode<T>]): { [key: string]: JointNode<T>; }; _tree<T extends string>(nodes: Record<T, { position: [number, number, number]; tiltTo: [number, number, number]; offset?: [number, number, number]; coordinateConversion?: { x: "x" | "y" | "z"; y: "x" | "y" | "z"; z: "x" | "y" | "z"; }; parent?: T; }>): [string, JointNode<T>] & { flatten: () => { [key: string]: { [key: string]: JointRotations; }; }; }; } export {}; //# sourceMappingURL=rotator.d.ts.map