User Tools

Site Tools


fluxions_typescript

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fluxions_typescript [2016/10/31 22:47] (current)
47.200.224.152 created
Line 1: Line 1:
 +====== Fluxions TypeScript Library ======
 +
 +===== Geometry and Math =====
 +  * Vector{234}
 +  * Matrix{234 2x3 3x2 2x4 4x2}
 +  * MatrixStack{234 2x3 3x2 2x4 4x2}
 +  * Quaternion
 +
 +
 +==== Vector{234} ====
 +
 +=== Members ===
 +  * ''​public x : number''​
 +  * ''​public y : number''​
 +  * ''​public z : number''​
 +  * ''​public w : number''​
 +
 +=== Methods ===
 +  * ''​constructor(public x : number, public y : number, public z : number, public w : number)''​
 +  * ''​public isZero() : boolean''​
 +  * ''​public scale(x : number) : Vector''​
 +  * ''​public times(a : Vector) : Vector''​
 +  * ''​public plus(a : Vector) : Vector''​
 +  * ''​public length() : number''​
 +  * ''​public lengthSquared() : number''​
 +  * ''​public norm() : Vector''​
 +  * ''​public dot(v : Vector) : Vector''​
 +
 +=== Static Methods ===
 +  * ''​static add(a : Vector, b : Vector) : Vector''​
 +  * ''​static dot(a : Vector, b : Vector) : Vector''​
 +  * ''​static sub(a : Vector, b : Vector) : Vector''​
 +
 +==== Matrix{234 2x3 3x2 4x2 2x4} ====
 +
 +=== Members ===
 +  * ''​m11 : number''​
 +  * ''​m12 : number''​
 +  * ''​m13 : number''​
 +  * ''​m14 : number''​
 +  * ''​m21 : number''​
 +  * ''​m22 : number''​
 +  * ''​m23 : number''​
 +  * ''​m24 : number''​
 +  * ''​m31 : number''​
 +  * ''​m32 : number''​
 +  * ''​m33 : number''​
 +  * ''​m34 : number''​
 +  * ''​m41 : number''​
 +  * ''​m42 : number''​
 +  * ''​m43 : number''​
 +  * ''​m44 : number''​
 +
 +=== Methods ===
 +  * ''​constructor(m11,​ m12, m13, m14, ...)''​
 +  * ''​public toColMajorArray() : Array<​number>''​
 +  * ''​public toRowMajorArray() : Array<​number>''​
 +  * ''​public det() : number''​
 +  * ''​public adj() : number''​
 +  * ''​public inverse() : Matrix4''​
 +  * ''​public invert() : Matrix4''​
 +  * ''​public times(m : Matrix4) : Matrix4''​
 +  * ''​public add(m : Matrix4) : Matrix4''​
 +  * ''​public neg() : Matrix4''​
 +  * ''​public scale(x : number) : Matrix4''​
 +
 +=== Static Methods ===
 +  * ''​static makeIdentity() : Matrix4''​
 +  * ''​static makeFromColMajorArray(v : Array<​number>​) : Matrix4''​
 +  * ''​static makeFromRowMajorArray(v : Array<​number>​) : Matrix4''​
 +  * ''​static makeRotation(angleInRadians : number, v : Vector3) : Matrix4''​
 +  * ''​static makeTranslation(v : Vector3) : Matrix4''​
 +  * ''​static makeScale(v : Vector3) : Matrix4''​
 +  * ''​static makeEulerXYZ(xAngleInRadians : number, yAngleInRadians : number, zAngleInRadians : number) : Matrix4''​
 +  * ''​static makeLookAt(eye : Vector3, origin : Vector3, up : Vector3) : Matrix4''​
 +  * ''​static makePerspective(fovyInDegrees : number, aspectRatio : number, znear : number, zfar : number) : Matrix4''​
 +  * ''​static makeOrtho(left : number, right : number, top : number, bottom : number, znear : number, zfar : number) : Matrix4''​
 +  * ''​static makeOrtho2D(left : number, right : number, top : number, bottom : number) : Matrix4''​
 +
 +
 +==== Quaternion ====
 +
 +=== Members ===
 +  * ''​public a : number''​
 +  * ''​public b : number''​
 +  * ''​public c : number''​
 +  * ''​public d : number''​
 +
 +=== Methods ===
 +  * ''​constructor(public a : number, public b : number, public c : number, public d : number)''​
 +  * ''​public conj() : Quaternion''​
 +
 +=== Static Methods ===
 +  * ''​static makeFromMatrix4(m : Matrix4) : Quaternion''​
 +
 +==== MatrixStack{234} ====
 +
 +=== Members ===
 +  * stack : Array<​Matrix4>​
 +
 +=== Methods ===
 +  * ''​constructor()''​
 +  * ''​public loadIdentity() : void''​
 +  * ''​public push() : void''​
 +  * ''​public pop() : void''​
 +  * ''​public top() : void''​
 +  * ''​public multMatrix(m : Matrix4) : void''​
 +  * ''​public translate(x : number, y : number, z : number): void''​
 +  * ''​public rotate(angleInDegrees : number, x : number, y : number, z : number): void''​
 +  * ''​public scale(x : number, y : number, z : number): void''​
 +  * ''​public lookat(eye : Vector4): void''​
 +
 +===== Scene Graph =====
 +  * ''​Thing''​
 +  * ''​Properties''​
 +  * ''​IndexedMesh extends Thing''​
 +  * ''​Camera extends Thing''​
 +  * ''​Light extends Thing''​
 +  * ''​PointLight extends Light''​
 +  * ''​SunLight extends Light''​
 +  * ''​Environment extends Thing''​
 +  * ''​Sphere extends Thing''​
 +  * ''​Node''​
 +  * ''​GroupNode extends Node''​
 +  * ''​LeafNode extends Node''​
 +  * ''​Scenegraph''​
 +  * ''​Scene extends Node''​
 +
 +==== Thing ====
 +The ''​class Thing''​ has properties and a matrix stack. It represents something that exists in space. Child classes define specifically what that is, whether it is a Camera or a Light or an IndexedMesh. The properties it has are usually passed on as uniform variables in a Shader in the rendering pipeline.
 +
 +=== Members ===
 +  * ''​private worldMatrix : Matrix4''​
 +  * ''​private worldPosition : Vector4''​
 +  * ''​private worldMatrixPropertyName : string = "​WorldMatrix"''​
 +  * ''​private worldPositionPropertyName : string = "​WorldPosition"''​
 +  * ''​private matrixStack : MatrixStack''​
 +  * ''​private properties : Properties''​
 +
 +=== Methods ===
 +  * ''​public getWorldPosition() : Vector4''​
 +  * ''​public getWorldMatrix() : Matrix4''​
 +  * ''​public setWorldPosition(v : Vector4)''​
 +  * ''​public setWorldMatrix(m : Matrix4)''​
 +  * ''​public setProperty{V2 V3 V4 M2 M3 M4 S}()''​
 +
 +==== Scenegraph ====
 +  * ''​public Meshes : Array<​IndexedMesh>''​
 +  * ''​public Nodes : GroupNode''​
  
fluxions_typescript.txt ยท Last modified: 2016/10/31 22:47 by 47.200.224.152