fluxions_typescript
Table of Contents
Fluxions TypeScript Library
Geometry and Math
- Vector{234}
- Matrix{234 2×3 3×2 2×4 4×2}
- MatrixStack{234 2×3 3×2 2×4 4×2}
- 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 21:47 by 47.200.224.152