@dimforge/rapier3d
Version:
3-dimensional physics engine in Rust - official JS bindings.
95 lines (94 loc) • 2.17 kB
TypeScript
import { RawVector, RawRotation } from "./raw";
import { RawSdpMatrix3 } from "./raw";
export interface Vector {
x: number;
y: number;
z: number;
}
/**
* A 3D vector.
*/
export declare class Vector3 implements Vector {
x: number;
y: number;
z: number;
constructor(x: number, y: number, z: number);
}
export declare class VectorOps {
static new(x: number, y: number, z: number): Vector;
static intoRaw(v: Vector): RawVector;
static zeros(): Vector;
static fromRaw(raw: RawVector): Vector;
static copy(out: Vector, input: Vector): void;
}
export interface Rotation {
x: number;
y: number;
z: number;
w: number;
}
/**
* A quaternion.
*/
export declare class Quaternion implements Rotation {
x: number;
y: number;
z: number;
w: number;
constructor(x: number, y: number, z: number, w: number);
}
export declare class RotationOps {
static identity(): Rotation;
static fromRaw(raw: RawRotation): Rotation;
static intoRaw(rot: Rotation): RawRotation;
static copy(out: Rotation, input: Rotation): void;
}
/**
* A 3D symmetric-positive-definite matrix.
*/
export declare class SdpMatrix3 {
/**
* Row major list of the upper-triangular part of the symmetric matrix.
*/
elements: Float32Array;
/**
* Matrix element at row 1, column 1.
*/
get m11(): number;
/**
* Matrix element at row 1, column 2.
*/
get m12(): number;
/**
* Matrix element at row 2, column 1.
*/
get m21(): number;
/**
* Matrix element at row 1, column 3.
*/
get m13(): number;
/**
* Matrix element at row 3, column 1.
*/
get m31(): number;
/**
* Matrix element at row 2, column 2.
*/
get m22(): number;
/**
* Matrix element at row 2, column 3.
*/
get m23(): number;
/**
* Matrix element at row 3, column 2.
*/
get m32(): number;
/**
* Matrix element at row 3, column 3.
*/
get m33(): number;
constructor(elements: Float32Array);
}
export declare class SdpMatrix3Ops {
static fromRaw(raw: RawSdpMatrix3): SdpMatrix3;
}