sandai-react
Version:
React components and utilities for the Sandai 3D AI Characters.
120 lines • 3.74 kB
TypeScript
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