UNPKG

@pilotlab/lux-types

Version:

A luxurious user experience framework, developed by your friends at Pilot.

34 lines (33 loc) 1.38 kB
import { IAttribute } from '@pilotlab/lux-attributes'; import PointBase from './pointBase'; import Point from './point'; import IVector from './interfaces/iVector'; export declare class Vector extends PointBase<Vector> implements IVector { constructor(x?: number, y?: number, z?: number, w?: number); w: number; protected p_w: IAttribute; readonly length: number; readonly magnitude: number; readonly abs: Vector; dot(v: Vector): number; normalize(): Vector; multiply(v: Vector): Vector; divide(v: Vector): Vector; static readonly identity: Vector; static fromPoint3D(pt: Point): Vector; static readonly empty: Vector; static cross(v1: Vector, v2: Vector, dest?: Vector): Vector; static dot(v1: Vector, v2: Vector): number; static distance(v1: Vector, v2: Vector): number; static direction(v1: Vector, v2: Vector, dest?: Vector): Vector; static mix(v1: Vector, v2: Vector, time: number, dest?: Vector): Vector; static sum(v1: Vector, v2: Vector, dest?: Vector): Vector; static difference(v1: Vector, v2: Vector, dest?: Vector): Vector; static product(v1: Vector, v2: Vector, dest?: Vector): Vector; static quotient(v1: Vector, v2: Vector, dest?: Vector): Vector; static zero: Vector; static up: Vector; static right: Vector; static forward: Vector; } export default Vector;