Package org.joml
Class Matrix4x3fStack
java.lang.Object
org.joml.Matrix4x3f
org.joml.Matrix4x3fStack
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
,Matrix4x3fc
A stack of many
Matrix4x3f
instances. This resembles the matrix stack known from legacy OpenGL.
This Matrix4x3fStack
class inherits from Matrix4x3f
, so the current/top matrix is always the
Matrix4x3fStack
/Matrix4x3f
itself. This affects all operations in Matrix4x3f
that take
another Matrix4x3f
as parameter. If a Matrix4x3fStack
is used as argument to those methods, the
effective argument will always be the current matrix of the matrix stack.
- Author:
- Kai Burjack
- See Also:
-
Field Summary
Fields inherited from interface org.joml.Matrix4x3fc
PLANE_NX, PLANE_NY, PLANE_NZ, PLANE_PX, PLANE_PY, PLANE_PZ, PROPERTY_IDENTITY, PROPERTY_ORTHONORMAL, PROPERTY_TRANSLATION
-
Constructor Summary
ConstructorDescriptionDo not invoke manually! Only meant for serialization.Matrix4x3fStack
(int stackSize) Create a newMatrix4x3fStack
of the given size. -
Method Summary
Modifier and TypeMethodDescriptionclear()
Set the stack pointer to zero and set the current/bottom matrix toidentity
.clone()
boolean
int
hashCode()
Decrement the stack pointer by one.Increment the stack pointer by one and set the values of the new current matrix to the one directly below it.void
void
Methods inherited from class org.joml.Matrix4x3f
add, add, arcball, arcball, arcball, arcball, assume, billboardCylindrical, billboardSpherical, billboardSpherical, cofactor3x3, cofactor3x3, cofactor3x3, determinant, determineProperties, equals, fma, fma, frustumPlane, get, get, get, get, get, get, get, get, get, get, get, get, get3x4, get3x4, get3x4, get3x4, get4x4, get4x4, get4x4, get4x4, get4x4, get4x4, getColumn, getEulerAnglesXYZ, getEulerAnglesZYX, getNormalizedRotation, getNormalizedRotation, getRotation, getRotation, getRow, getScale, getToAddress, getTranslation, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getUnnormalizedRotation, getUnnormalizedRotation, identity, invert, invert, invert, invertOrtho, invertOrtho, isFinite, lerp, lerp, lookAlong, lookAlong, lookAlong, lookAlong, lookAt, lookAt, lookAt, lookAt, lookAtLH, lookAtLH, lookAtLH, lookAtLH, m00, m00, m01, m01, m02, m02, m10, m10, m11, m11, m12, m12, m20, m20, m21, m21, m22, m22, m30, m30, m31, m31, m32, m32, mapnXnYnZ, mapnXnYnZ, mapnXnYZ, mapnXnYZ, mapnXnZnY, mapnXnZnY, mapnXnZY, mapnXnZY, mapnXYnZ, mapnXYnZ, mapnXZnY, mapnXZnY, mapnXZY, mapnXZY, mapnYnXnZ, mapnYnXnZ, mapnYnXZ, mapnYnXZ, mapnYnZnX, mapnYnZnX, mapnYnZX, mapnYnZX, mapnYXnZ, mapnYXnZ, mapnYXZ, mapnYXZ, mapnYZnX, mapnYZnX, mapnYZX, mapnYZX, mapnZnXnY, mapnZnXnY, mapnZnXY, mapnZnXY, mapnZnYnX, mapnZnYnX, mapnZnYX, mapnZnYX, mapnZXnY, mapnZXnY, mapnZXY, mapnZXY, mapnZYnX, mapnZYnX, mapnZYX, mapnZYX, mapXnYnZ, mapXnYnZ, mapXnZnY, mapXnZnY, mapXnZY, mapXnZY, mapXZnY, mapXZnY, mapXZY, mapXZY, mapYnXnZ, mapYnXnZ, mapYnXZ, mapYnXZ, mapYnZnX, mapYnZnX, mapYnZX, mapYnZX, mapYXnZ, mapYXnZ, mapYXZ, mapYXZ, mapYZnX, mapYZnX, mapYZX, mapYZX, mapZnXnY, mapZnXnY, mapZnXY, mapZnXY, mapZnYnX, mapZnYnX, mapZnYX, mapZnYX, mapZXnY, mapZXnY, mapZXY, mapZXY, mapZYnX, mapZYnX, mapZYX, mapZYX, mul, mul, mul3x3, mul3x3, mulComponentWise, mulComponentWise, mulOrtho, mulOrtho, mulTranslation, negateX, negateX, negateY, negateY, negateZ, negateZ, normal, normal, normal, normalize3x3, normalize3x3, normalize3x3, normalizedPositiveX, normalizedPositiveY, normalizedPositiveZ, obliqueZ, obliqueZ, origin, ortho, ortho, ortho, ortho, ortho2D, ortho2D, ortho2DLH, ortho2DLH, orthoLH, orthoLH, orthoLH, orthoLH, orthoSymmetric, orthoSymmetric, orthoSymmetric, orthoSymmetric, orthoSymmetricLH, orthoSymmetricLH, orthoSymmetricLH, orthoSymmetricLH, pick, pick, positiveX, positiveY, positiveZ, properties, reflect, reflect, reflect, reflect, reflect, reflect, reflect, reflect, reflection, reflection, reflection, reflection, rotate, rotate, rotate, rotate, rotate, rotate, rotate, rotate, rotateAround, rotateAround, rotateLocal, rotateLocal, rotateLocal, rotateLocal, rotateLocalX, rotateLocalX, rotateLocalY, rotateLocalY, rotateLocalZ, rotateLocalZ, rotateTowards, rotateTowards, rotateTowards, rotateTowards, rotateTranslation, rotateTranslation, rotateX, rotateX, rotateXYZ, rotateXYZ, rotateXYZ, rotateY, rotateY, rotateYXZ, rotateYXZ, rotateYXZ, rotateZ, rotateZ, rotateZYX, rotateZYX, rotateZYX, rotation, rotation, rotation, rotation, rotationAround, rotationTowards, rotationTowards, rotationX, rotationXYZ, rotationY, rotationYXZ, rotationZ, rotationZYX, scale, scale, scale, scale, scale, scale, scaleAround, scaleAround, scaleAround, scaleAround, scaleLocal, scaleLocal, scaleXY, scaleXY, scaling, scaling, scaling, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set3x3, set3x3, setColumn, setFromAddress, setLookAlong, setLookAlong, setLookAt, setLookAt, setLookAtLH, setLookAtLH, setOrtho, setOrtho, setOrtho2D, setOrtho2DLH, setOrthoLH, setOrthoLH, setOrthoSymmetric, setOrthoSymmetric, setOrthoSymmetricLH, setOrthoSymmetricLH, setRotationXYZ, setRotationYXZ, setRotationZYX, setRow, setTranslation, setTranslation, shadow, shadow, shadow, shadow, shadow, shadow, shadow, shadow, sub, sub, swap, toString, toString, transform, transform, transformAab, transformAab, transformDirection, transformDirection, transformPosition, transformPosition, translate, translate, translate, translate, translateLocal, translateLocal, translateLocal, translateLocal, translation, translation, translationRotate, translationRotate, translationRotate, translationRotateInvert, translationRotateInvert, translationRotateMul, translationRotateMul, translationRotateScale, translationRotateScale, translationRotateScaleMul, translationRotateScaleMul, translationRotateTowards, translationRotateTowards, transpose3x3, transpose3x3, transpose3x3, withLookAtUp, withLookAtUp, withLookAtUp, withLookAtUp, zero
-
Constructor Details
-
Matrix4x3fStack
public Matrix4x3fStack(int stackSize) Create a newMatrix4x3fStack
of the given size.Initially the stack pointer is at zero and the current matrix is set to identity.
- Parameters:
stackSize
- the size of the stack. This must be at least 1, in which case theMatrix4x3fStack
simply only consists ofthis
Matrix4x3f
-
Matrix4x3fStack
public Matrix4x3fStack()Do not invoke manually! Only meant for serialization.Invoking this constructor from client code will result in an inconsistent state of the created
Matrix4x3fStack
instance.
-
-
Method Details
-
clear
Set the stack pointer to zero and set the current/bottom matrix toidentity
.- Returns:
- this
-
pushMatrix
Increment the stack pointer by one and set the values of the new current matrix to the one directly below it.- Returns:
- this
-
popMatrix
Decrement the stack pointer by one.This will effectively dispose of the current matrix.
- Returns:
- this
-
hashCode
public int hashCode()- Overrides:
hashCode
in classMatrix4x3f
-
equals
- Overrides:
equals
in classMatrix4x3f
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classMatrix4x3f
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classMatrix4x3f
- Throws:
IOException
-
clone
- Overrides:
clone
in classMatrix4x3f
- Throws:
CloneNotSupportedException
-