ts-useful
Version:
Functions for animation, color transitions, ecliptic, bezier, decasteljau, curves, three dimensional curves, smooth scrolling, random range, randomItem, mobius index, vectors, physics vectors, and easing.
79 lines (78 loc) • 1.86 kB
TypeScript
import { coordinate } from '../types';
import { IVector } from '../interfaces/IVector';
import { Coordinate } from './coordinate';
export declare abstract class Vect extends Coordinate implements IVector {
private static distanceSquare;
private static hypot;
/**
*
* @param vector IVector
* @returns number
*/
static hypotenuse(vector: IVector): number;
/**
*
* @param main IVector
* @param target IVector
* @param force number
* @returns IVector
*/
static addForce: (main: IVector, target: IVector, force: number) => IVector;
/**
*
* @param main IVector
* @param target IVector
* @param force number
* @returns IVector
*/
static subForce: (main: IVector, target: IVector, force: number) => IVector;
/**
*
* @param target Type of IVector
*/
static normalize<T extends IVector>(target: T): void;
/**
*
* @param vector IVector
* @returns number
*/
static magnitude(vector: IVector): number;
/**
*
* @param vector IVector
* @param force number
* @returns this
*/
addForce: (vector: IVector, force: number) => this;
/**
*
* @param vector IVector
* @param force number
* @returns this
*/
subForce: (vector: IVector, force: number) => this;
/**
* Normalize the vector
*/
normalize: () => void;
/**
* @returns number
*/
get abs(): {
x: number;
y: number;
};
/**
* @returns number
*/
get hypotenuse(): number;
/**
* @returns number
*/
get magnitude(): number;
/**
*
* @param coordinate coordinate optional
*/
constructor(coordinate?: coordinate);
}