RaylibMatrixFactories class

Backend-agnostic factory hub for MatrixBase construction.

zeroFactory and createFactory are injected by the concrete backend package before use (e.g. RaylibMatrixFactories.createFactory = MatrixD.mat). Derived helpers are implemented here in terms of those factories so the math stays in one place.

Constructors

RaylibMatrixFactories()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

createFactory MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base> Function(num m0, num m1, num m2, num m3, num m4, num m5, num m6, num m7, num m8, num m9, num m10, num m11, num m12, num m13, num m14, num m15)
Creates a matrix from m0, ..., m15 components. Injected by the backend package.
getter/setter pair
zeroFactory MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base> Function()
Creates a zero matrix (0, ..., 0). Injected by the backend package.
getter/setter pair

Static Methods

fromQuaternion(QuaternionBase<QuaternionBase, MatrixBase, Vector3Base, Vector4Base> q) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns the rotation matrix equivalent of quaternion q.
frustum(double left, double right, double bottom, double top, double nearPlane, double farPlane) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a perspective projection matrix defined by the given frustum planes.
identity() MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns the 4x4 identity matrix.
lookAt(Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> eye, Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> target, Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> up) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a view matrix oriented from eye toward target, with up defining the vertical axis.
ortho(double left, double right, double bottom, double top, double nearPlane, double farPlane) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns an orthographic projection matrix defined by the given clip planes.
perspective(double fovY, double aspect, double nearPlane, double farPlane) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a perspective projection matrix from a vertical FOV fovY (in radians), aspect ratio, and clip planes.
rotateAngle(Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> axis, double angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix around axis by angle radians.
rotateX(double angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix around the X axis by angle radians.
rotateXYZ(Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix applied in X > Y > Z order from angle's components (in radians).
rotateY(double angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix around the Y axis by angle radians.
rotateZ(double angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix around the Z axis by angle radians.
rotateZYX(Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> angle) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a rotation matrix applied in Z > Y > X order from angle's components (in radians).
scale(double x, double y, double z) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a scaling matrix for the given x, y, z factors.
translate(num x, num y, num z) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a translation matrix for the given x, y, z offsets.
translateVector3(Vector3Base<Vector3Base, MatrixBase, QuaternionBase, Vector4Base> v) MatrixBase<MatrixBase, Vector3Base, QuaternionBase, Vector4Base>
Returns a translation matrix from v's components. Convenience wrapper for translate.