References
summary | ||
public |
|
|
public |
|
|
public |
GeometryLoader loads data from a BIMserver |
|
public |
Entry point for the public BimSurfer API. |
|
public |
BufferManager keeps track of (CPU side) buffers, these buffers are eventually flushed to the GPU. |
|
public |
Buffer manager that keeps track of one buffer per color. |
|
public |
A buffer manager that keeps track of only 2 buffers, one opaque and one with transparent data. |
|
public |
Keeps track of a collections of buffersets that can be reused. |
|
public |
This class transforms buffers. |
|
public |
C Camera A Camera defines viewing and projection transforms for its Viewer. |
|
public |
Controls the camera with user input. |
|
public |
This class keeps track of the position of reading, supplies get methods for most types and provides alignment methods. |
|
public |
This is the default renderer for what we called the base layer. |
|
public |
C Executor Executor allows to submit jobs for execution. |
|
public |
As you many know, line rendering with thickness is not well-supported in WebGL implementations (mostly due to WebGL implementations on Windows defaulting to emulating OpenGL calls via ANGLE on DirectX 9). |
|
public |
The default ES6 Set() class is rather useless, as it doesn't do proper equality comparison, no use of keys in a Map(), etc. This class is a wrapper around such a Set() but with a `frozen' getter to convert to String for equality testing. |
|
public |
C Frustum Frustum for fast World-space frustum-AABB collision testing |
|
public |
Keeps track of GeometryData that is potentially reused. |
|
public |
This class is supposed to be and stay BIMserver-free. |
|
public |
|
|
public |
|
|
public |
C Lighting Configures the viewer's light sources. |
|
public |
Simple (reusable) class to draw a linebox |
|
public |
C Octree |
|
public |
Configures orthographic projection mode for the camera. |
|
public |
Configures perspective projection mode for the camera. |
|
public |
Keeps track of shader programs, glsl, uniform positions and vertex attributes |
|
public |
|
|
public |
A quick and dirty tree model, this is used in both the dev.js and interactive.js apps |
|
public |
Abstract base class for managing and rendering buffers pertaining to a render layer, ie. |
|
public |
When loading Tiles, there is sometimes geometry (GeometryData) that is reused in other Tiles as well, in that case it is omitted in the stream, to be loaded later. |
|
public |
|
|
public |
|
|
public |
C Settings This class builds a quick UI for changing basic settings and stores the settings in localStorage. |
|
public |
C SSQuad A Screen-space quadrangle used for deferred rendering. |
|
public |
C Stats Keeps track of statistics. |
|
public |
A SVG overlay that is synced with the WebGL viewport for efficiently rendering two-dimensional elements such as text, that are not easily rendered using WebGL. |
|
public |
Loads tiles. |
|
public |
A specific type of RenderLayer, which uses Tiling to achieve better render performance, but also minimizes the amount of data that needs to be loaded of the line. |
|
public |
|
|
public |
C TreeView A basic tree view. |
|
public |
C Utils Generic utils |
|
public |
This class is responsible for keeping track of the various matrices used for quantization/unquantization |
|
public |
C Viewer The idea is that this class doesn't know anything about BIMserver, and can possibly be reused in classes other than BimServerViewer Main viewer class, too many responsibilities:
|
|
public |
C WSQuad A World-space quadrangle used for rendering a capping polygon for the sectionplane. |
|
public |
|
|
public |
|
|
public |
|
|
public |
V DRAG_ORBIT: number |
|
public |
|
|
public |
|
|
public |
V DefaultColors: {"IFCSPACE": *, "IFCROOF": *, "IFCSLAB": *, "IFCWALL": *, "IFCWALLSTANDARDCASE": *, "IFCDOOR": *, "IFCWINDOW": *, "IFCOPENINGELEMENT": *, "IFCRAILING": *, "IFCCOLUMN": *, "IFCBEAM": *, "IFCBEAMSTANDARDCASE": *, "IFCFURNISHINGELEMENT": *, "IFCCURTAINWALL": *, "IFCSTAIR": *, "IFCSTAIRFLIGHT": *, "IFCBUILDINGELEMENTPROXY": *, "IFCFLOWSEGMENT": *, "IFCFLOWITTING": *, "IFCFLOWTERMINAL": *, "IFCPROXY": *, "IFCSITE": *, "IFCLIGHTFIXTURE": *, "IFCDUCTSEGMENT": *, "IFCDISTRIBUTIONFLOWELEMENT": *, "IFCDUCTFITTING": *, "IFCPLATE": *, "IFCPILE": *, "IFCAIRTERMINAL": *, "IFCMEMBER": *, "IFCCOVERING": *, "IFCTRANSPORTELEMENT": *, "IFCFLOWCONTROLLER": *, "IFCFLOWFITTING": *, "IFCRAMP": *, "IFCFURNITURE": *, "IFCFOOTING": *, "IFCSYSTEMFURNITUREELEMENT": *, "IFCBUILDINGELEMENTPART": *, "IFCDISTRIBUTIONELEMENT": *, "DEFAULT": *} Default colors, only used by the BimserverGeometryLoader when no default color is given by the serializer |
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
|
public |
|
collections
summary | ||
public |
C AvlTree |
|
public |
|
glmatrix
summary | ||
public |
Tests whether or not the arguments have approximately the same value, within an absolute or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less than or equal to 1.0, and a relative tolerance is used for larger values) |
|
public |
F setMatrixArrayType(type: Float32ArrayConstructor | ArrayConstructor) Sets the type of array used when creating new vectors and matrices |
|
public |
Convert Degree To Radian |
|
public |
Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix |
|
public |
F add(out: mat2, a: ReadonlyMat2, b: ReadonlyMat2): mat2 Adds two mat2's |
|
public |
F adjoint(out: mat2, a: ReadonlyMat2): mat2 Calculates the adjugate of a mat2 |
|
public |
F clone(a: ReadonlyMat2): mat2 Creates a new mat2 initialized with values from an existing matrix |
|
public |
F copy(out: mat2, a: ReadonlyMat2): mat2 Copy the values from one mat2 to another |
|
public |
F create(): mat2 Creates a new identity mat2 |
|
public |
F determinant(a: ReadonlyMat2): Number Calculates the determinant of a mat2 |
|
public |
Returns whether or not the matrices have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyMat2, b: ReadonlyMat2): Boolean Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) |
|
public |
Returns Frobenius norm of a mat2 |
|
public |
F fromRotation(out: mat2, rad: Number): mat2 Creates a matrix from a given angle This is equivalent to (but much faster than): |
|
public |
F fromScaling(out: mat2, v: ReadonlyVec2): mat2 Creates a matrix from a vector scaling This is equivalent to (but much faster than): |
|
public |
F fromValues(m00: Number, m01: Number, m10: Number, m11: Number): mat2 Create a new mat2 with the given values |
|
public |
F identity(out: mat2): mat2 Set a mat2 to the identity matrix |
|
public |
F invert(out: mat2, a: ReadonlyMat2): mat2 Inverts a mat2 |
|
public |
F multiply(out: mat2, a: ReadonlyMat2, b: ReadonlyMat2): mat2 Multiplies two mat2's |
|
public |
F multiplyScalar(out: mat2, a: ReadonlyMat2, b: Number): mat2 Multiply each element of the matrix by a scalar. |
|
public |
F multiplyScalarAndAdd(out: mat2, a: ReadonlyMat2, b: ReadonlyMat2, scale: Number): mat2 Adds two mat2's after multiplying each element of the second operand by a scalar value. |
|
public |
Rotates a mat2 by the given angle |
|
public |
F scale(out: mat2, a: ReadonlyMat2, v: ReadonlyVec2): mat2 Scales the mat2 by the dimensions in the given vec2 |
|
public |
Set the components of a mat2 to the given values |
|
public |
Returns a string representation of a mat2 |
|
public |
F subtract(out: mat2, a: ReadonlyMat2, b: ReadonlyMat2): mat2 Subtracts matrix b from matrix a |
|
public |
F transpose(out: mat2, a: ReadonlyMat2): mat2 Transpose the values of a mat2 |
|
public |
F add(out: mat2d, a: ReadonlyMat2d, b: ReadonlyMat2d): mat2d Adds two mat2d's |
|
public |
F clone(a: ReadonlyMat2d): mat2d Creates a new mat2d initialized with values from an existing matrix |
|
public |
F copy(out: mat2d, a: ReadonlyMat2d): mat2d Copy the values from one mat2d to another |
|
public |
F create(): mat2d Creates a new identity mat2d |
|
public |
F determinant(a: ReadonlyMat2d): Number Calculates the determinant of a mat2d |
|
public |
Returns whether or not the matrices have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyMat2d, b: ReadonlyMat2d): Boolean Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) |
|
public |
Returns Frobenius norm of a mat2d |
|
public |
F fromRotation(out: mat2d, rad: Number): mat2d Creates a matrix from a given angle This is equivalent to (but much faster than): |
|
public |
F fromScaling(out: mat2d, v: ReadonlyVec2): mat2d Creates a matrix from a vector scaling This is equivalent to (but much faster than): |
|
public |
F fromTranslation(out: mat2d, v: ReadonlyVec2): mat2d Creates a matrix from a vector translation This is equivalent to (but much faster than): |
|
public |
Create a new mat2d with the given values |
|
public |
F identity(out: mat2d): mat2d Set a mat2d to the identity matrix |
|
public |
F invert(out: mat2d, a: ReadonlyMat2d): mat2d Inverts a mat2d |
|
public |
F multiply(out: mat2d, a: ReadonlyMat2d, b: ReadonlyMat2d): mat2d Multiplies two mat2d's |
|
public |
F multiplyScalar(out: mat2d, a: ReadonlyMat2d, b: Number): mat2d Multiply each element of the matrix by a scalar. |
|
public |
F multiplyScalarAndAdd(out: mat2d, a: ReadonlyMat2d, b: ReadonlyMat2d, scale: Number): mat2d Adds two mat2d's after multiplying each element of the second operand by a scalar value. |
|
public |
Rotates a mat2d by the given angle |
|
public |
F scale(out: mat2d, a: ReadonlyMat2d, v: ReadonlyVec2): mat2d Scales the mat2d by the dimensions in the given vec2 |
|
public |
Set the components of a mat2d to the given values |
|
public |
Returns a string representation of a mat2d |
|
public |
F subtract(out: mat2d, a: ReadonlyMat2d, b: ReadonlyMat2d): mat2d Subtracts matrix b from matrix a |
|
public |
F translate(out: mat2d, a: ReadonlyMat2d, v: ReadonlyVec2): mat2d Translates the mat2d by the dimensions in the given vec2 |
|
public |
F add(out: mat3, a: ReadonlyMat3, b: ReadonlyMat3): mat3 Adds two mat3's |
|
public |
F adjoint(out: mat3, a: ReadonlyMat3): mat3 Calculates the adjugate of a mat3 |
|
public |
F clone(a: ReadonlyMat3): mat3 Creates a new mat3 initialized with values from an existing matrix |
|
public |
F copy(out: mat3, a: ReadonlyMat3): mat3 Copy the values from one mat3 to another |
|
public |
F create(): mat3 Creates a new identity mat3 |
|
public |
F determinant(a: ReadonlyMat3): Number Calculates the determinant of a mat3 |
|
public |
Returns whether or not the matrices have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyMat3, b: ReadonlyMat3): Boolean Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) |
|
public |
Returns Frobenius norm of a mat3 |
|
public |
F fromMat2d(out: mat3, a: ReadonlyMat2d): mat3 Copies the values from a mat2d into a mat3 |
|
public |
F fromMat4(out: mat3, a: ReadonlyMat4): mat3 Copies the upper-left 3x3 values into the given mat3. |
|
public |
F fromQuat(out: mat3, q: ReadonlyQuat): mat3 Calculates a 3x3 matrix from the given quaternion |
|
public |
F fromRotation(out: mat3, rad: Number): mat3 Creates a matrix from a given angle This is equivalent to (but much faster than): |
|
public |
F fromScaling(out: mat3, v: ReadonlyVec2): mat3 Creates a matrix from a vector scaling This is equivalent to (but much faster than): |
|
public |
F fromTranslation(out: mat3, v: ReadonlyVec2): mat3 Creates a matrix from a vector translation This is equivalent to (but much faster than): |
|
public |
F fromValues(m00: Number, m01: Number, m02: Number, m10: Number, m11: Number, m12: Number, m20: Number, m21: Number, m22: Number): mat3 Create a new mat3 with the given values |
|
public |
F identity(out: mat3): mat3 Set a mat3 to the identity matrix |
|
public |
F invert(out: mat3, a: ReadonlyMat3): mat3 Inverts a mat3 |
|
public |
F multiply(out: mat3, a: ReadonlyMat3, b: ReadonlyMat3): mat3 Multiplies two mat3's |
|
public |
F multiplyScalar(out: mat3, a: ReadonlyMat3, b: Number): mat3 Multiply each element of the matrix by a scalar. |
|
public |
F multiplyScalarAndAdd(out: mat3, a: ReadonlyMat3, b: ReadonlyMat3, scale: Number): mat3 Adds two mat3's after multiplying each element of the second operand by a scalar value. |
|
public |
F normalFromMat4(out: mat3, a: ReadonlyMat4): mat3 Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix |
|
public |
F projection(out: mat3, width: number, height: number): mat3 Generates a 2D projection matrix with the given bounds |
|
public |
Rotates a mat3 by the given angle |
|
public |
F scale(out: mat3, a: ReadonlyMat3, v: ReadonlyVec2): mat3 Scales the mat3 by the dimensions in the given vec2 |
|
public |
F set(out: mat3, m00: Number, m01: Number, m02: Number, m10: Number, m11: Number, m12: Number, m20: Number, m21: Number, m22: Number): mat3 Set the components of a mat3 to the given values |
|
public |
Returns a string representation of a mat3 |
|
public |
F subtract(out: mat3, a: ReadonlyMat3, b: ReadonlyMat3): mat3 Subtracts matrix b from matrix a |
|
public |
F translate(out: mat3, a: ReadonlyMat3, v: ReadonlyVec2): mat3 Translate a mat3 by the given vector |
|
public |
F transpose(out: mat3, a: ReadonlyMat3): mat3 Transpose the values of a mat3 |
|
public |
F add(out: mat4, a: ReadonlyMat4, b: ReadonlyMat4): mat4 Adds two mat4's |
|
public |
F adjoint(out: mat4, a: ReadonlyMat4): mat4 Calculates the adjugate of a mat4 |
|
public |
F clone(a: ReadonlyMat4): mat4 Creates a new mat4 initialized with values from an existing matrix |
|
public |
F copy(out: mat4, a: ReadonlyMat4): mat4 Copy the values from one mat4 to another |
|
public |
F create(): mat4 Creates a new identity mat4 |
|
public |
F determinant(a: ReadonlyMat4): Number Calculates the determinant of a mat4 |
|
public |
Returns whether or not the matrices have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyMat4, b: ReadonlyMat4): Boolean Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) |
|
public |
Returns Frobenius norm of a mat4 |
|
public |
F fromQuat(out: mat4, q: ReadonlyQuat): mat4 Calculates a 4x4 matrix from the given quaternion |
|
public |
F fromQuat2(out: mat4, a: ReadonlyQuat2): mat4 Creates a new mat4 from a dual quat. |
|
public |
F fromRotation(out: mat4, rad: Number, axis: ReadonlyVec3): mat4 Creates a matrix from a given angle around a given axis This is equivalent to (but much faster than): |
|
public |
F fromRotationTranslation(out: mat4, q: quat4, v: ReadonlyVec3): mat4 Creates a matrix from a quaternion rotation and vector translation This is equivalent to (but much faster than): |
|
public |
F fromRotationTranslationScale(out: mat4, q: quat4, v: ReadonlyVec3, s: ReadonlyVec3): mat4 Creates a matrix from a quaternion rotation, vector translation and vector scale This is equivalent to (but much faster than): |
|
public |
F fromRotationTranslationScaleOrigin(out: mat4, q: quat4, v: ReadonlyVec3, s: ReadonlyVec3, o: ReadonlyVec3): mat4 Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin This is equivalent to (but much faster than): |
|
public |
F fromScaling(out: mat4, v: ReadonlyVec3): mat4 Creates a matrix from a vector scaling This is equivalent to (but much faster than): |
|
public |
F fromTranslation(out: mat4, v: ReadonlyVec3): mat4 Creates a matrix from a vector translation This is equivalent to (but much faster than): |
|
public |
F fromValues(m00: Number, m01: Number, m02: Number, m03: Number, m10: Number, m11: Number, m12: Number, m13: Number, m20: Number, m21: Number, m22: Number, m23: Number, m30: Number, m31: Number, m32: Number, m33: Number): mat4 Create a new mat4 with the given values |
|
public |
F fromXRotation(out: mat4, rad: Number): mat4 Creates a matrix from the given angle around the X axis This is equivalent to (but much faster than): |
|
public |
F fromYRotation(out: mat4, rad: Number): mat4 Creates a matrix from the given angle around the Y axis This is equivalent to (but much faster than): |
|
public |
F fromZRotation(out: mat4, rad: Number): mat4 Creates a matrix from the given angle around the Z axis This is equivalent to (but much faster than): |
|
public |
F frustum(out: mat4, left: Number, right: Number, bottom: Number, top: Number, near: Number, far: Number): mat4 Generates a frustum matrix with the given bounds |
|
public |
F getRotation(out: quat, mat: ReadonlyMat4): quat Returns a quaternion representing the rotational component of a transformation matrix. |
|
public |
F getScaling(out: vec3, mat: ReadonlyMat4): vec3 Returns the scaling factor component of a transformation matrix. |
|
public |
F getTranslation(out: vec3, mat: ReadonlyMat4): vec3 Returns the translation vector component of a transformation matrix. |
|
public |
F identity(out: mat4): mat4 Set a mat4 to the identity matrix |
|
public |
F invert(out: mat4, a: ReadonlyMat4): mat4 Inverts a mat4 |
|
public |
F lookAt(out: mat4, eye: ReadonlyVec3, center: ReadonlyVec3, up: ReadonlyVec3): mat4 Generates a look-at matrix with the given eye position, focal point, and up axis. |
|
public |
F multiply(out: mat4, a: ReadonlyMat4, b: ReadonlyMat4): mat4 Multiplies two mat4s |
|
public |
F multiplyScalar(out: mat4, a: ReadonlyMat4, b: Number): mat4 Multiply each element of the matrix by a scalar. |
|
public |
F multiplyScalarAndAdd(out: mat4, a: ReadonlyMat4, b: ReadonlyMat4, scale: Number): mat4 Adds two mat4's after multiplying each element of the second operand by a scalar value. |
|
public |
F ortho(out: mat4, left: number, right: number, bottom: number, top: number, near: number, far: number): mat4 Generates a orthogonal projection matrix with the given bounds |
|
public |
F perspective(out: mat4, fovy: number, aspect: number, near: number, far: number): mat4 Generates a perspective projection matrix with the given bounds. |
|
public |
F perspectiveFromFieldOfView(out: mat4, fov: Object, near: number, far: number): mat4 Generates a perspective projection matrix with the given field of view. |
|
public |
Rotates a mat4 by the given angle around the given axis |
|
public |
Rotates a matrix by the given angle around the X axis |
|
public |
Rotates a matrix by the given angle around the Y axis |
|
public |
Rotates a matrix by the given angle around the Z axis |
|
public |
F scale(out: mat4, a: ReadonlyMat4, v: ReadonlyVec3): mat4 Scales the mat4 by the dimensions in the given vec3 not using vectorization |
|
public |
F set(out: mat4, m00: Number, m01: Number, m02: Number, m03: Number, m10: Number, m11: Number, m12: Number, m13: Number, m20: Number, m21: Number, m22: Number, m23: Number, m30: Number, m31: Number, m32: Number, m33: Number): mat4 Set the components of a mat4 to the given values |
|
public |
Returns a string representation of a mat4 |
|
public |
F subtract(out: mat4, a: ReadonlyMat4, b: ReadonlyMat4): mat4 Subtracts matrix b from matrix a |
|
public |
F targetTo(out: mat4, eye: ReadonlyVec3, center: ReadonlyVec3, up: ReadonlyVec3): mat4 Generates a matrix that makes something look at something else. |
|
public |
F translate(out: mat4, a: ReadonlyMat4, v: ReadonlyVec3): mat4 Translate a mat4 by the given vector |
|
public |
F transpose(out: mat4, a: ReadonlyMat4): mat4 Transpose the values of a mat4 |
|
public |
F calculateW(out: quat, a: ReadonlyQuat): quat Calculates the W component of a quat from the X, Y, and Z components. |
|
public |
F conjugate(out: quat, a: ReadonlyQuat): quat Calculates the conjugate of a quat If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. |
|
public |
F create(): quat Creates a new identity quat |
|
public |
F exp(out: quat, a: ReadonlyQuat): quat Calculate the exponential of a unit quaternion. |
|
public |
F fromEuler(out: quat, Angle: x, Angle: y, Angle: z): quat Creates a quaternion from the given euler angle x, y, z. |
|
public |
F fromMat3(out: quat, m: ReadonlyMat3): quat Creates a quaternion from the given 3x3 rotation matrix. |
|
public |
Gets the angular distance between two unit quaternions |
|
public |
F getAxisAngle(out_axis: vec3, q: ReadonlyQuat): Number Gets the rotation axis and angle for a given quaternion. |
|
public |
F identity(out: quat): quat Set a quat to the identity quaternion |
|
public |
F invert(out: quat, a: ReadonlyQuat): quat Calculates the inverse of a quat |
|
public |
F ln(out: quat, a: ReadonlyQuat): quat Calculate the natural logarithm of a unit quaternion. |
|
public |
F multiply(out: quat, a: ReadonlyQuat, b: ReadonlyQuat): quat Multiplies two quat's |
|
public |
Calculate the scalar power of a unit quaternion. |
|
public |
F random(out: quat): quat Generates a random unit quaternion |
|
public |
Rotates a quaternion by the given angle about the X axis |
|
public |
Rotates a quaternion by the given angle about the Y axis |
|
public |
Rotates a quaternion by the given angle about the Z axis |
|
public |
F setAxisAngle(out: quat, axis: ReadonlyVec3, rad: Number): quat Sets a quat from the given angle and rotation axis, then returns it. |
|
public |
Performs a spherical linear interpolation between two quat |
|
public |
Returns a string representation of a quatenion |
|
public |
F add(out: quat2, a: ReadonlyQuat2, b: ReadonlyQuat2): quat2 Adds two dual quat's |
|
public |
F clone(a: ReadonlyQuat2): quat2 Creates a new quat initialized with values from an existing quaternion |
|
public |
F conjugate(out: quat2, a: ReadonlyQuat2): quat2 Calculates the conjugate of a dual quat If the dual quaternion is normalized, this function is faster than quat2.inverse and produces the same result. |
|
public |
F copy(out: quat2, a: ReadonlyQuat2): quat2 Copy the values from one dual quat to another |
|
public |
F create(): quat2 Creates a new identity dual quat |
|
public |
Returns whether or not the dual quaternions have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyQuat2, b: ReadonlyQuat2): Boolean Returns whether or not the dual quaternions have exactly the same elements in the same position (when compared with ===) |
|
public |
F fromMat4(out: quat2, a: ReadonlyMat4): quat2 Creates a new dual quat from a matrix (4x4) |
|
public |
F fromRotation(dual: ReadonlyQuat2, q: ReadonlyQuat): quat2 Creates a dual quat from a quaternion |
|
public |
F fromRotationTranslation(dual: ReadonlyQuat2, q: ReadonlyQuat, t: ReadonlyVec3): quat2 Creates a dual quat from a quaternion and a translation |
|
public |
F fromRotationTranslationValues(x1: Number, y1: Number, z1: Number, w1: Number, x2: Number, y2: Number, z2: Number): quat2 Creates a new dual quat from the given values (quat and translation) |
|
public |
F fromTranslation(dual: ReadonlyQuat2, t: ReadonlyVec3): quat2 Creates a dual quat from a translation |
|
public |
F fromValues(x1: Number, y1: Number, z1: Number, w1: Number, x2: Number, y2: Number, z2: Number, w2: Number): quat2 Creates a new dual quat initialized with the given values |
|
public |
F getDual(out: quat, a: ReadonlyQuat2): quat Gets the dual part of a dual quat |
|
public |
F getTranslation(out: vec3, a: ReadonlyQuat2): vec3 Gets the translation of a normalized dual quat |
|
public |
F identity(out: quat2): quat2 Set a dual quat to the identity dual quaternion |
|
public |
F invert(out: quat2, a: ReadonlyQuat2): quat2 Calculates the inverse of a dual quat. |
|
public |
Performs a linear interpolation between two dual quats's NOTE: The resulting dual quaternions won't always be normalized (The error is most noticeable when t = 0.5) |
|
public |
F multiply(out: quat2, a: ReadonlyQuat2, b: ReadonlyQuat2): quat2 Multiplies two dual quat's |
|
public |
F normalize(out: quat2, a: ReadonlyQuat2): quat2 Normalize a dual quat |
|
public |
F rotateAroundAxis(out: quat2, a: ReadonlyQuat2, axis: ReadonlyVec3, rad: Number): quat2 Rotates a dual quat around a given axis. |
|
public |
F rotateByQuatAppend(out: quat2, a: ReadonlyQuat2, q: ReadonlyQuat): quat2 Rotates a dual quat by a given quaternion (a * q) |
|
public |
F rotateByQuatPrepend(out: quat2, q: ReadonlyQuat, a: ReadonlyQuat2): quat2 Rotates a dual quat by a given quaternion (q * a) |
|
public |
Rotates a dual quat around the X axis |
|
public |
Rotates a dual quat around the Y axis |
|
public |
Rotates a dual quat around the Z axis |
|
public |
Scales a dual quat by a scalar number |
|
public |
F set(out: quat2, x1: Number, y1: Number, z1: Number, w1: Number, x2: Number, y2: Number, z2: Number, w2: Number): quat2 Set the components of a dual quat to the given values |
|
public |
F setDual(out: quat2, q: ReadonlyQuat): quat2 Set the dual component of a dual quat to the given quaternion |
|
public |
Returns a string representation of a dual quatenion |
|
public |
F translate(out: quat2, a: ReadonlyQuat2, v: ReadonlyVec3): quat2 Translates a dual quat by the given vector |
|
public |
F add(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Adds two vec2's |
|
public |
Get the angle between two 2D vectors |
|
public |
F ceil(out: vec2, a: ReadonlyVec2): vec2 Math.ceil the components of a vec2 |
|
public |
F clone(a: ReadonlyVec2): vec2 Creates a new vec2 initialized with values from an existing vector |
|
public |
F copy(out: vec2, a: ReadonlyVec2): vec2 Copy the values from one vec2 to another |
|
public |
F create(): vec2 Creates a new, empty vec2 |
|
public |
F cross(out: vec3, a: ReadonlyVec2, b: ReadonlyVec2): vec3 Computes the cross product of two vec2's Note that the cross product must by definition produce a 3D vector |
|
public |
Calculates the euclidian distance between two vec2's |
|
public |
F divide(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Divides two vec2's |
|
public |
Calculates the dot product of two vec2's |
|
public |
Returns whether or not the vectors have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyVec2, b: ReadonlyVec2): Boolean Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===) |
|
public |
F floor(out: vec2, a: ReadonlyVec2): vec2 Math.floor the components of a vec2 |
|
public |
F fromValues(x: Number, y: Number): vec2 Creates a new vec2 initialized with the given values |
|
public |
F inverse(out: vec2, a: ReadonlyVec2): vec2 Returns the inverse of the components of a vec2 |
|
public |
Calculates the length of a vec2 |
|
public |
Performs a linear interpolation between two vec2's |
|
public |
F max(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Returns the maximum of two vec2's |
|
public |
F min(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Returns the minimum of two vec2's |
|
public |
F multiply(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Multiplies two vec2's |
|
public |
F negate(out: vec2, a: ReadonlyVec2): vec2 Negates the components of a vec2 |
|
public |
F normalize(out: vec2, a: ReadonlyVec2): vec2 Normalize a vec2 |
|
public |
Generates a random vector with the given scale |
|
public |
Rotate a 2D vector |
|
public |
F round(out: vec2, a: ReadonlyVec2): vec2 Math.round the components of a vec2 |
|
public |
Scales a vec2 by a scalar number |
|
public |
F scaleAndAdd(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2, scale: Number): vec2 Adds two vec2's after scaling the second operand by a scalar value |
|
public |
Set the components of a vec2 to the given values |
|
public |
F squaredDistance(a: ReadonlyVec2, b: ReadonlyVec2): Number Calculates the squared euclidian distance between two vec2's |
|
public |
F squaredLength(a: ReadonlyVec2): Number Calculates the squared length of a vec2 |
|
public |
Returns a string representation of a vector |
|
public |
F subtract(out: vec2, a: ReadonlyVec2, b: ReadonlyVec2): vec2 Subtracts vector b from vector a |
|
public |
F transformMat2(out: vec2, a: ReadonlyVec2, m: ReadonlyMat2): vec2 Transforms the vec2 with a mat2 |
|
public |
F transformMat2d(out: vec2, a: ReadonlyVec2, m: ReadonlyMat2d): vec2 Transforms the vec2 with a mat2d |
|
public |
F transformMat3(out: vec2, a: ReadonlyVec2, m: ReadonlyMat3): vec2 Transforms the vec2 with a mat3 3rd vector component is implicitly '1' |
|
public |
F transformMat4(out: vec2, a: ReadonlyVec2, m: ReadonlyMat4): vec2 Transforms the vec2 with a mat4 3rd vector component is implicitly '0' 4th vector component is implicitly '1' |
|
public |
F zero(out: vec2): vec2 Set the components of a vec2 to zero |
|
public |
F add(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Adds two vec3's |
|
public |
Get the angle between two 3D vectors |
|
public |
F bezier(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3, c: ReadonlyVec3, d: ReadonlyVec3, t: Number): vec3 Performs a bezier interpolation with two control points |
|
public |
F ceil(out: vec3, a: ReadonlyVec3): vec3 Math.ceil the components of a vec3 |
|
public |
F clone(a: ReadonlyVec3): vec3 Creates a new vec3 initialized with values from an existing vector |
|
public |
F copy(out: vec3, a: ReadonlyVec3): vec3 Copy the values from one vec3 to another |
|
public |
F create(): vec3 Creates a new, empty vec3 |
|
public |
F cross(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Computes the cross product of two vec3's |
|
public |
Calculates the euclidian distance between two vec3's |
|
public |
F divide(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Divides two vec3's |
|
public |
Calculates the dot product of two vec3's |
|
public |
Returns whether or not the vectors have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyVec3, b: ReadonlyVec3): Boolean Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) |
|
public |
F floor(out: vec3, a: ReadonlyVec3): vec3 Math.floor the components of a vec3 |
|
public |
F fromValues(x: Number, y: Number, z: Number): vec3 Creates a new vec3 initialized with the given values |
|
public |
F hermite(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3, c: ReadonlyVec3, d: ReadonlyVec3, t: Number): vec3 Performs a hermite interpolation with two control points |
|
public |
F inverse(out: vec3, a: ReadonlyVec3): vec3 Returns the inverse of the components of a vec3 |
|
public |
Calculates the length of a vec3 |
|
public |
Performs a linear interpolation between two vec3's |
|
public |
F max(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Returns the maximum of two vec3's |
|
public |
F min(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Returns the minimum of two vec3's |
|
public |
F multiply(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Multiplies two vec3's |
|
public |
F negate(out: vec3, a: ReadonlyVec3): vec3 Negates the components of a vec3 |
|
public |
F normalize(out: vec3, a: ReadonlyVec3): vec3 Normalize a vec3 |
|
public |
Generates a random vector with the given scale |
|
public |
Rotate a 3D vector around the x-axis |
|
public |
Rotate a 3D vector around the y-axis |
|
public |
Rotate a 3D vector around the z-axis |
|
public |
F round(out: vec3, a: ReadonlyVec3): vec3 Math.round the components of a vec3 |
|
public |
Scales a vec3 by a scalar number |
|
public |
F scaleAndAdd(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3, scale: Number): vec3 Adds two vec3's after scaling the second operand by a scalar value |
|
public |
Set the components of a vec3 to the given values |
|
public |
F squaredDistance(a: ReadonlyVec3, b: ReadonlyVec3): Number Calculates the squared euclidian distance between two vec3's |
|
public |
F squaredLength(a: ReadonlyVec3): Number Calculates the squared length of a vec3 |
|
public |
Returns a string representation of a vector |
|
public |
F subtract(out: vec3, a: ReadonlyVec3, b: ReadonlyVec3): vec3 Subtracts vector b from vector a |
|
public |
F transformMat3(out: vec3, a: ReadonlyVec3, m: ReadonlyMat3): vec3 Transforms the vec3 with a mat3. |
|
public |
F transformMat4(out: vec3, a: ReadonlyVec3, m: ReadonlyMat4): vec3 Transforms the vec3 with a mat4. |
|
public |
F transformQuat(out: vec3, a: ReadonlyVec3, q: ReadonlyQuat): vec3 Transforms the vec3 with a quat Can also be used for dual quaternions. |
|
public |
F zero(out: vec3): vec3 Set the components of a vec3 to zero |
|
public |
F add(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Adds two vec4's |
|
public |
F ceil(out: vec4, a: ReadonlyVec4): vec4 Math.ceil the components of a vec4 |
|
public |
F clone(a: ReadonlyVec4): vec4 Creates a new vec4 initialized with values from an existing vector |
|
public |
F copy(out: vec4, a: ReadonlyVec4): vec4 Copy the values from one vec4 to another |
|
public |
F create(): vec4 Creates a new, empty vec4 |
|
public |
F cross(result: ReadonlyVec4, U: ReadonlyVec4, V: ReadonlyVec4, W: ReadonlyVec4): vec4 Returns the cross-product of three vectors in a 4-dimensional space |
|
public |
Calculates the euclidian distance between two vec4's |
|
public |
F divide(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Divides two vec4's |
|
public |
Calculates the dot product of two vec4's |
|
public |
Returns whether or not the vectors have approximately the same elements in the same position. |
|
public |
F exactEquals(a: ReadonlyVec4, b: ReadonlyVec4): Boolean Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) |
|
public |
F floor(out: vec4, a: ReadonlyVec4): vec4 Math.floor the components of a vec4 |
|
public |
F fromValues(x: Number, y: Number, z: Number, w: Number): vec4 Creates a new vec4 initialized with the given values |
|
public |
F inverse(out: vec4, a: ReadonlyVec4): vec4 Returns the inverse of the components of a vec4 |
|
public |
Calculates the length of a vec4 |
|
public |
Performs a linear interpolation between two vec4's |
|
public |
F max(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Returns the maximum of two vec4's |
|
public |
F min(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Returns the minimum of two vec4's |
|
public |
F multiply(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Multiplies two vec4's |
|
public |
F negate(out: vec4, a: ReadonlyVec4): vec4 Negates the components of a vec4 |
|
public |
F normalize(out: vec4, a: ReadonlyVec4): vec4 Normalize a vec4 |
|
public |
Generates a random vector with the given scale |
|
public |
F round(out: vec4, a: ReadonlyVec4): vec4 Math.round the components of a vec4 |
|
public |
Scales a vec4 by a scalar number |
|
public |
F scaleAndAdd(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4, scale: Number): vec4 Adds two vec4's after scaling the second operand by a scalar value |
|
public |
Set the components of a vec4 to the given values |
|
public |
F squaredDistance(a: ReadonlyVec4, b: ReadonlyVec4): Number Calculates the squared euclidian distance between two vec4's |
|
public |
F squaredLength(a: ReadonlyVec4): Number Calculates the squared length of a vec4 |
|
public |
Returns a string representation of a vector |
|
public |
F subtract(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4 Subtracts vector b from vector a |
|
public |
F transformMat4(out: vec4, a: ReadonlyVec4, m: ReadonlyMat4): vec4 Transforms the vec4 with a mat4. |
|
public |
F transformQuat(out: vec4, a: ReadonlyVec4, q: ReadonlyQuat): vec4 Transforms the vec4 with a quat |
|
public |
F zero(out: vec4): vec4 Set the components of a vec4 to zero |
|
public |
V ARRAY_TYPE: * |
|
public |
Common utilities |
|
public |
V RANDOM: * |
|
public |
V mul: * Alias for mat2.multiply |
|
public |
V sub: * Alias for mat2.subtract |
|
public |
V mul: * Alias for mat2d.multiply |
|
public |
V sub: * Alias for mat2d.subtract |
|
public |
V mul: * Alias for mat3.multiply |
|
public |
V sub: * Alias for mat3.subtract |
|
public |
V mul: * Alias for mat4.multiply |
|
public |
V sub: * Alias for mat4.subtract |
|
public |
V add(out: quat, a: ReadonlyQuat, b: ReadonlyQuat): quat: * Adds two quat's |
|
public |
V clone(a: ReadonlyQuat): quat: * Creates a new quat initialized with values from an existing quaternion |
|
public |
V copy(out: quat, a: ReadonlyQuat): quat: * Copy the values from one quat to another |
|
public |
Calculates the dot product of two quat's |
|
public |
Returns whether or not the quaternions have approximately the same elements in the same position. |
|
public |
V exactEquals(a: ReadonlyQuat, b: ReadonlyQuat): Boolean: * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===) |
|
public |
V fromValues(x: Number, y: Number, z: Number, w: Number): quat: * Creates a new quat initialized with the given values |
|
public |
V len: * Alias for quat.length |
|
public |
Calculates the length of a quat |
|
public |
Performs a linear interpolation between two quat's |
|
public |
V mul: * Alias for quat.multiply |
|
public |
V normalize(out: quat, a: ReadonlyQuat): quat: * Normalize a quat |
|
public |
V rotationTo(out: quat, a: ReadonlyVec3, b: ReadonlyVec3): quat: * Sets a quaternion to represent the shortest rotation from one vector to another. |
|
public |
Scales a quat by a scalar number |
|
public |
Set the components of a quat to the given values |
|
public |
V setAxes(view: ReadonlyVec3, right: ReadonlyVec3, up: ReadonlyVec3): quat: * Sets the specified quaternion with values corresponding to the given axes. |
|
public |
V sqlerp(out: quat, a: ReadonlyQuat, b: ReadonlyQuat, c: ReadonlyQuat, d: ReadonlyQuat, t: Number): quat: * Performs a spherical linear interpolation with two control points |
|
public |
V sqrLen: * Alias for quat.squaredLength |
|
public |
V squaredLength(a: ReadonlyQuat): Number: * Calculates the squared length of a quat |
|
public |
Calculates the dot product of two dual quat's (The dot product of the real parts) |
|
public |
V getReal(out: quat, a: ReadonlyQuat2): quat: * Gets the real part of a dual quat |
|
public |
V len: * Alias for quat2.length |
|
public |
Calculates the length of a dual quat |
|
public |
V mul: * Alias for quat2.multiply |
|
public |
V setReal(out: quat2, q: ReadonlyQuat): quat2: * Set the real component of a dual quat to the given quaternion |
|
public |
V sqrLen: * Alias for quat2.squaredLength |
|
public |
V squaredLength(a: ReadonlyQuat2): Number: * Calculates the squared length of a dual quat |
|
public |
V dist: * Alias for vec2.distance |
|
public |
V div: * Alias for vec2.divide |
|
public |
V forEach(a: Array, stride: Number, offset: Number, count: Number, fn: Function, arg: Object): Array: * Perform some operation over an array of vec2s. |
|
public |
V len: * Alias for vec2.length |
|
public |
V mul: * Alias for vec2.multiply |
|
public |
V sqrDist: * Alias for vec2.squaredDistance |
|
public |
V sqrLen: * Alias for vec2.squaredLength |
|
public |
V sub: * Alias for vec2.subtract |
|
public |
V dist: * Alias for vec3.distance |
|
public |
V div: * Alias for vec3.divide |
|
public |
V forEach(a: Array, stride: Number, offset: Number, count: Number, fn: Function, arg: Object): Array: * Perform some operation over an array of vec3s. |
|
public |
V len: * Alias for vec3.length |
|
public |
V mul: * Alias for vec3.multiply |
|
public |
V sqrDist: * Alias for vec3.squaredDistance |
|
public |
V sqrLen: * Alias for vec3.squaredLength |
|
public |
V sub: * Alias for vec3.subtract |
|
public |
V dist: * Alias for vec4.distance |
|
public |
V div: * Alias for vec4.divide |
|
public |
V forEach(a: Array, stride: Number, offset: Number, count: Number, fn: Function, arg: Object): Array: * Perform some operation over an array of vec4s. |
|
public |
V len: * Alias for vec4.length |
|
public |
V mul: * Alias for vec4.multiply |
|
public |
V sqrDist: * Alias for vec4.squaredDistance |
|
public |
V sqrLen: * Alias for vec4.squaredLength |
|
public |
V sub: * Alias for vec4.subtract |
shaders
summary | ||
public |
|
|
public |
|