@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
50 lines (49 loc) • 2.14 kB
TypeScript
import { Number3 } from '../types/GlobalTypes';
import { BufferGeometry, Matrix4, Object3D, Vector3 } from 'three';
import { BaseNodeType } from '../engine/nodes/_Base';
export declare enum TransformTargetType {
OBJECT = "object",
GEOMETRY = "geometry"
}
export declare const TRANSFORM_TARGET_TYPES: TransformTargetType[];
export declare enum RotationOrder {
XYZ = "XYZ",
XZY = "XZY",
YXZ = "YXZ",
YZX = "YZX",
ZYX = "ZYX",
ZXY = "ZXY"
}
export declare const ROTATION_ORDERS: RotationOrder[];
export declare const DEFAULT_ROTATION_ORDER = RotationOrder.XYZ;
export interface SetParamsFromMatrixOptions {
scale?: boolean;
}
export declare function rotationMatrix(dirOrigin: Vector3, dirDest: Vector3, target: Matrix4): void;
export declare function rotateGeometry(geometry: BufferGeometry, dirOrigin: Vector3, dirDest: Vector3): void;
export declare class CoreTransform {
private static set_params_from_matrix_position;
private static set_params_from_matrix_quaternion;
private static set_params_from_matrix_scale;
private static set_params_from_matrix_euler;
private static set_params_from_matrix_rotation;
private static set_params_from_matrix_t;
private static set_params_from_matrix_r;
private static set_params_from_matrix_s;
static setParamsFromMatrix(matrix: Matrix4, node: BaseNodeType, options?: SetParamsFromMatrixOptions): void;
static set_params_from_object_position_array: Number3;
static set_params_from_object_rotation_deg: Vector3;
static set_params_from_object_rotation_array: Number3;
static setParamsFromObject(object: Object3D, node: BaseNodeType): void;
private _translation_matrix;
private _translation_matrix_q;
private _translation_matrix_s;
translationMatrix(t: Vector3): Matrix4;
private _matrix;
private _matrixQ;
private _matrixEuler;
private _matrixS;
matrix(t: Vector3, r: Vector3, s: Vector3, scale: number, rotationOrder: RotationOrder): Matrix4;
static rotateObject(object: Object3D, dirOrigin: Vector3, dirDest: Vector3): void;
static decomposeMatrix(object: Object3D): void;
}