diff --git a/math3d/index.d.ts b/math3d/index.d.ts new file mode 100644 index 0000000000..84365604ba --- /dev/null +++ b/math3d/index.d.ts @@ -0,0 +1,168 @@ +// Type definitions for math3.d.ts +// Project: https://github.com/adragonite/math3d +// Definitions by: Laszlo Jakab +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export class Vector3 { + constructor(x?: number, y?: number, z?: number); + + public static back: Vector3; + public static down: Vector3; + public static forward: Vector3; + public static left: Vector3; + public static one: Vector3; + public static right: Vector3; + public static up: Vector3; + public static zero: Vector3; + public static dimension: number; + public static FromVector4: (vector4: Vector4) => Vector3; + + public homogeneous: Vector4; + public magnitude: number; + public values: number[]; + public vector4: Vector4; + public x: number; + public y: number; + public z: number; + + public add(vector3: Vector3): Vector3; + public average(vector3: Vector3): Vector3; + public cross(vector3: Vector3): Vector3; + public distanceTo(vector3: Vector3): number; + public dot(vector3: Vector3): number; + public equals(vector3: Vector3): boolean; + public mulScalar(scalar: Number): Vector3; + public negate(): Vector3; + public normalize(): Vector3; + public scale(vector3: Vector3): Vector3; + public sub(vector3: Vector3): Vector3; + public toString(): string; +} + +export class Vector4 { + constructor(x?: number, y?: number, z?: number, w?: number); + + public static one: Vector4; + public static zero: Vector4; + public static dimension: number; + + public magnitude: number; + public values: number[]; + public x: number; + public y: number; + public z: number; + public w: number; + + public add(vector4: Vector4): Vector4; + public distanceTo(vector4: Vector4): number; + public dot(vector4: Vector4): number; + public equals(vector4: Vector4): boolean; + public mulScalar(scalar: Number): Vector4; + public negate(): Vector4; + public normalize(): Vector3; + public sub(vector4: Vector4): Vector3; + public toString(): string; +} + +export class Quaternion { + constructor(x?: number, y?: number, z?: number, w?: number); + public static Euler(x?: number, y?: number, z?: number): Quaternion; + public static AngleAxis(axis: Vector3, angle: number): Quaternion; + + public static identity: Quaternion; + public static zero: Quaternion; + + public angleAxis: { axis: Vector3, angle: number }; + public eulerAngles: { x: number, y: number, z: number }; + public x: number; + public y: number; + public z: number; + public w: number; + + public angleTo(quaternion: Quaternion): number; + public conjugate(): Quaternion; + public distanceTo(quaternion: Quaternion): number; + public dot(quaternion: Quaternion): number; + public equals(quaternion: Quaternion): boolean; + public inverse(): Quaternion; + public mul(quaternion: Quaternion): Quaternion; + public mulVector3(vector3: Vector3): Vector3; + public toString(): string; +} + +export class Matrix4x4 { + constructor(data: number[]); + + public static FlipMatrix(flipX: boolean, flipY: boolean, flipZ: boolean): Matrix4x4; + public static ScaleMatrix(scale: number | Vector3): Matrix4x4; + public static RotationMatrix(quaternion: Quaternion): Matrix4x4; + public static TranslationMatrix(translation: Vector3): Matrix4x4; + public static TRS(translation: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; + public static LocalToWorldMatrix(position: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; + public static WorldToLocalMatrix(position: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; + + public static identity: Matrix4x4; + public static zero: Matrix4x4; + + public columns: number[][]; + public m11: number; + public m12: number; + public m13: number; + public m14: number; + public m21: number; + public m22: number; + public m23: number; + public m24: number; + public m31: number; + public m32: number; + public m33: number; + public m34: number; + public m41: number; + public m42: number; + public m43: number; + public m44: number; + public rows: number[][]; + public size: { rows: number, columns: number }; + public values: number[]; + + public determinant(): number + public inverse(): Matrix4x4; + public negate(): Matrix4x4; + public transpose(): Matrix4x4; + public add(matrix4x4: Matrix4x4): Matrix4x4; + public sub(matrix4x4: Matrix4x4): Matrix4x4; + public mul(matrix4x4: Matrix4x4): Matrix4x4; + public mulScalar(scalar: Number): Matrix4x4; + public mulVector3(vector3: Vector3): Vector3; +} + +export class Transform { + constructor(position?: Vector3, rotation?: Quaternion); + + public forward: Vector3; + public localPosition: Vector3; + public localRotation: Quaternion; + public localToWorldMatrix: Matrix4x4; + public name: string; + public parent: Transform; + public position: Vector3; + public right: Vector3; + public root: Transform; + public rotation: Vector3; + public up: Vector3; + public worldToLocalMatrix: Matrix4x4; + + public addChild(child: Transform): void; + public inverseTransformPosition(position: Vector3): Vector3; + public removeChild(child: Transform): void; + public transformPosition(position: Vector3): Vector3; + public translate(translation: Vector3, relativeTo?: Transform.Space): Transform; + public rotate(x: number, y: number, z: number, relativeTo?: Transform.Space): Transform; +} + +export module Transform { + export enum Space { + Self, + World + } +} diff --git a/math3d/math3d-tests.ts b/math3d/math3d-tests.ts new file mode 100644 index 0000000000..d04ddbefb9 --- /dev/null +++ b/math3d/math3d-tests.ts @@ -0,0 +1,7 @@ +import * as math3d from 'math3d'; +const v = new math3d.Vector3(1, 2, 3); +v.add(new math3d.Vector3(0, 0, 1)); +new math3d.Matrix4x4([1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 4,4,4,4]); diff --git a/math3d/math3d.d.ts b/math3d/math3d.d.ts deleted file mode 100644 index 4d89db48ac..0000000000 --- a/math3d/math3d.d.ts +++ /dev/null @@ -1,170 +0,0 @@ -// Type definitions for math3.d.ts -// Project: https://github.com/adragonite/math3d -// Definitions by: Laszlo Jakab -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -declare module "math3d" { - export class Vector3 { - constructor(x?: number, y?: number, z?: number); - - public static back: Vector3; - public static down: Vector3; - public static forward: Vector3; - public static left: Vector3; - public static one: Vector3; - public static right: Vector3; - public static up: Vector3; - public static zero: Vector3; - public static dimension: number; - public static FromVector4: (vector4: Vector4) => Vector3; - - public homogeneous: Vector4; - public magnitude: number; - public values: number[]; - public vector4: Vector4; - public x: number; - public y: number; - public z: number; - - public add(vector3: Vector3): Vector3; - public average(vector3: Vector3): Vector3; - public cross(vector3: Vector3): Vector3; - public distanceTo(vector3: Vector3): number; - public dot(vector3: Vector3): number; - public equals(vector3: Vector3): boolean; - public mulScalar(scalar: Number): Vector3; - public negate(): Vector3; - public normalize(): Vector3; - public scale(vector3: Vector3): Vector3; - public sub(vector3: Vector3): Vector3; - public toString(): string; - } - - export class Vector4 { - constructor(x?: number, y?: number, z?: number, w?: number); - - public static one: Vector4; - public static zero: Vector4; - public static dimension: number; - - public magnitude: number; - public values: number[]; - public x: number; - public y: number; - public z: number; - public w: number; - - public add(vector4: Vector4): Vector4; - public distanceTo(vector4: Vector4): number; - public dot(vector4: Vector4): number; - public equals(vector4: Vector4): boolean; - public mulScalar(scalar: Number): Vector4; - public negate(): Vector4; - public normalize(): Vector3; - public sub(vector4: Vector4): Vector3; - public toString(): string; - } - - export class Quaternion { - constructor(x?: number, y?: number, z?: number, w?: number); - public static Euler(x?: number, y?: number, z?: number): Quaternion; - public static AngleAxis(axis: Vector3, angle: number): Quaternion; - - public static identity: Quaternion; - public static zero: Quaternion; - - public angleAxis: { axis: Vector3, angle: number }; - public eulerAngles: { x: number, y: number, z: number }; - public x: number; - public y: number; - public z: number; - public w: number; - - public angleTo(quaternion: Quaternion): number; - public conjugate(): Quaternion; - public distanceTo(quaternion: Quaternion): number; - public dot(quaternion: Quaternion): number; - public equals(quaternion: Quaternion): boolean; - public inverse(): Quaternion; - public mul(quaternion: Quaternion): Quaternion; - public mulVector3(vector3: Vector3): Vector3; - public toString(): string; - } - - export class Matrix4x4 { - constructor(data: number[]); - - public static FlipMatrix(flipX: boolean, flipY: boolean, flipZ: boolean): Matrix4x4; - public static ScaleMatrix(scale: number | Vector3): Matrix4x4; - public static RotationMatrix(quaternion: Quaternion): Matrix4x4; - public static TranslationMatrix(translation: Vector3): Matrix4x4; - public static TRS(translation: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; - public static LocalToWorldMatrix(position: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; - public static WorldToLocalMatrix(position: Vector3, rotation: Quaternion, scale: number | Vector3): Matrix4x4; - - public static identity: Matrix4x4; - public static zero: Matrix4x4; - - public columns: number[][]; - public m11: number; - public m12: number; - public m13: number; - public m14: number; - public m21: number; - public m22: number; - public m23: number; - public m24: number; - public m31: number; - public m32: number; - public m33: number; - public m34: number; - public m41: number; - public m42: number; - public m43: number; - public m44: number; - public rows: number[][]; - public size: { rows: number, columns: number }; - public values: number[]; - - public determinant(): number - public inverse(): Matrix4x4; - public negate(): Matrix4x4; - public transpose(): Matrix4x4; - public add(matrix4x4: Matrix4x4): Matrix4x4; - public sub(matrix4x4: Matrix4x4): Matrix4x4; - public mul(matrix4x4: Matrix4x4): Matrix4x4; - public mulScalar(scalar: Number): Matrix4x4; - public mulVector3(vector3: Vector3): Vector3; - } - - export class Transform { - constructor(position?: Vector3, rotation?: Quaternion); - - public forward: Vector3; - public localPosition: Vector3; - public localRotation: Quaternion; - public localToWorldMatrix: Matrix4x4; - public name: string; - public parent: Transform; - public position: Vector3; - public right: Vector3; - public root: Transform; - public rotation: Vector3; - public up: Vector3; - public worldToLocalMatrix: Matrix4x4; - - public addChild(child: Transform): void; - public inverseTransformPosition(position: Vector3): Vector3; - public removeChild(child: Transform): void; - public transformPosition(position: Vector3): Vector3; - public translate(translation: Vector3, relativeTo?: Transform.Space): Transform; - public rotate(x: number, y: number, z: number, relativeTo?: Transform.Space): Transform; - } - - export module Transform { - export enum Space { - Self, - World - } - } -} diff --git a/math3d/tsconfig.json b/math3d/tsconfig.json new file mode 100644 index 0000000000..2f4e358aaf --- /dev/null +++ b/math3d/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "math3d-tests.ts" + ] +} diff --git a/math3d/tslint.json b/math3d/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/math3d/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } diff --git a/plugapi/plugapi.d.ts b/plugapi/index.d.ts similarity index 99% rename from plugapi/plugapi.d.ts rename to plugapi/index.d.ts index 90351ac53a..bb8b656fac 100644 --- a/plugapi/plugapi.d.ts +++ b/plugapi/index.d.ts @@ -2,7 +2,6 @@ // Project: https://www.npmjs.com/package/plugapi // Definitions by: Brice Theurillat // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - declare module "plugapi" { interface PlugLogin { email: string; @@ -417,4 +416,4 @@ declare module "plugapi" { var PlugAPI: PlugAPIStatic; export = PlugAPI; -} \ No newline at end of file +} diff --git a/plugapi/plugapi-tests.ts b/plugapi/plugapi-tests.ts index 279a5b659d..17197f9c1a 100644 --- a/plugapi/plugapi-tests.ts +++ b/plugapi/plugapi-tests.ts @@ -1,5 +1,3 @@ -/// - import * as PlugAPI from "plugapi"; new PlugAPI({ @@ -32,4 +30,4 @@ new PlugAPI({ } else { console.log("Error initializing plugAPI: " + err); } -}); \ No newline at end of file +}); diff --git a/plugapi/tsconfig.json b/plugapi/tsconfig.json new file mode 100644 index 0000000000..36b84a69c2 --- /dev/null +++ b/plugapi/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "plugapi-tests.ts" + ] +} diff --git a/plugapi/tslint.json b/plugapi/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/plugapi/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } diff --git a/random-seed/random-seed.d.ts b/random-seed/index.d.ts similarity index 83% rename from random-seed/random-seed.d.ts rename to random-seed/index.d.ts index 2dcb02d1e6..cdd63a140c 100644 --- a/random-seed/random-seed.d.ts +++ b/random-seed/index.d.ts @@ -3,9 +3,7 @@ // Definitions by: Endel Dreyer // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare module "random-seed" { - - export interface RandomSeed { +export interface RandomSeed { range (range: number): number; random (): number; floatBetween (min: number, max: number): number; @@ -21,8 +19,6 @@ declare module "random-seed" { initState (): void; done (): void; - } - - export function create (seed?: string): RandomSeed; - } + +export function create (seed?: string): RandomSeed; diff --git a/random-seed/random-seed-tests.ts b/random-seed/random-seed-tests.ts index de49c65e45..9eb399eff5 100644 --- a/random-seed/random-seed-tests.ts +++ b/random-seed/random-seed-tests.ts @@ -1,4 +1,3 @@ -/// import { RandomSeed, create } from "random-seed"; // these generators produce different numbers diff --git a/random-seed/tsconfig.json b/random-seed/tsconfig.json new file mode 100644 index 0000000000..19bb011f0d --- /dev/null +++ b/random-seed/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "random-seed-tests.ts" + ] +} diff --git a/random-seed/tslint.json b/random-seed/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/random-seed/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }