48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
|
import mat3 from './mat3';
|
||
|
import quat from './quat';
|
||
|
export default class vec3 {
|
||
|
get x(): number;
|
||
|
get y(): number;
|
||
|
get z(): number;
|
||
|
get xy(): [number, number];
|
||
|
get xyz(): [number, number, number];
|
||
|
set x(value: number);
|
||
|
set y(value: number);
|
||
|
set z(value: number);
|
||
|
set xy(values: [number, number]);
|
||
|
set xyz(values: [number, number, number]);
|
||
|
constructor(values?: [number, number, number]);
|
||
|
private values;
|
||
|
static readonly zero: vec3;
|
||
|
static readonly one: vec3;
|
||
|
static readonly up: vec3;
|
||
|
static readonly right: vec3;
|
||
|
static readonly forward: vec3;
|
||
|
at(index: number): number;
|
||
|
reset(): void;
|
||
|
copy(dest?: vec3): vec3;
|
||
|
negate(dest?: vec3): vec3;
|
||
|
equals(vector: vec3, threshold?: number): boolean;
|
||
|
length(): number;
|
||
|
squaredLength(): number;
|
||
|
add(vector: vec3): vec3;
|
||
|
subtract(vector: vec3): vec3;
|
||
|
multiply(vector: vec3): vec3;
|
||
|
divide(vector: vec3): vec3;
|
||
|
scale(value: number, dest?: vec3): vec3;
|
||
|
normalize(dest?: vec3): vec3;
|
||
|
multiplyByMat3(matrix: mat3, dest?: vec3): vec3;
|
||
|
multiplyByQuat(quaternion: quat, dest?: vec3): vec3;
|
||
|
toQuat(dest?: quat): quat;
|
||
|
static cross(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
static dot(vector: vec3, vector2: vec3): number;
|
||
|
static distance(vector: vec3, vector2: vec3): number;
|
||
|
static squaredDistance(vector: vec3, vector2: vec3): number;
|
||
|
static direction(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
static mix(vector: vec3, vector2: vec3, time: number, dest?: vec3): vec3;
|
||
|
static sum(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
static difference(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
static product(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
static quotient(vector: vec3, vector2: vec3, dest?: vec3): vec3;
|
||
|
}
|