Package org.joml
Class Matrix4x3dStack
- java.lang.Object
-
- org.joml.Matrix4x3d
-
- org.joml.Matrix4x3dStack
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.Cloneable
,Matrix4x3dc
public class Matrix4x3dStack extends Matrix4x3d
A stack of manyMatrix4x3d
instances. This resembles the matrix stack known from legacy OpenGL.This
Matrix4x3dStack
class inherits fromMatrix4x3d
, so the current/top matrix is always theMatrix4x3dStack
/Matrix4x3d
itself. This affects all operations inMatrix4x3d
that take anotherMatrix4x3d
as parameter. If aMatrix4x3dStack
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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.joml.Matrix4x3dc
PLANE_NX, PLANE_NY, PLANE_NZ, PLANE_PX, PLANE_PY, PLANE_PZ, PROPERTY_IDENTITY, PROPERTY_ORTHONORMAL, PROPERTY_TRANSLATION
-
-
Constructor Summary
Constructors Constructor Description Matrix4x3dStack()
Do not invoke manually! Only meant for serialization.Matrix4x3dStack(int stackSize)
Create a newMatrix4x3dStack
of the given size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Matrix4x3dStack
clear()
Set the stack pointer to zero and set the current/bottom matrix toidentity
.java.lang.Object
clone()
boolean
equals(java.lang.Object obj)
int
hashCode()
Matrix4x3dStack
popMatrix()
Decrement the stack pointer by one.Matrix4x3dStack
pushMatrix()
Increment the stack pointer by one and set the values of the new current matrix to the one directly below it.void
readExternal(java.io.ObjectInput in)
void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.joml.Matrix4x3d
add, add, add, add, arcball, arcball, arcball, arcball, assume, billboardCylindrical, billboardSpherical, billboardSpherical, cofactor3x3, cofactor3x3, cofactor3x3, determinant, determineProperties, equals, fma, fma, fma, fma, frustumPlane, get, get, get, get, get, get, get, get, get, get, get, get, get4x4, get4x4, get4x4, get4x4, get4x4, get4x4, get4x4, get4x4, getColumn, getEulerAnglesXYZ, getEulerAnglesZYX, getFloats, getFloats, getNormalizedRotation, getNormalizedRotation, getRow, getScale, getToAddress, getTranslation, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getTransposed, getTransposedFloats, getTransposedFloats, getUnnormalizedRotation, getUnnormalizedRotation, identity, 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, mul, mul, mul3x3, mul3x3, mulComponentWise, mulComponentWise, mulOrtho, mulOrtho, mulTranslation, 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, rotate, rotate, rotate, rotate, rotate, rotate, rotateAround, rotateAround, rotateLocal, rotateLocal, rotateLocal, rotateLocal, rotateLocal, rotateLocal, rotateLocalX, rotateLocalX, rotateLocalY, rotateLocalY, rotateLocalZ, rotateLocalZ, rotateTowards, rotateTowards, rotateTowards, rotateTowards, rotateTranslation, rotateTranslation, rotateTranslation, rotateX, rotateX, rotateXYZ, rotateXYZ, rotateXYZ, rotateY, rotateY, rotateYXZ, rotateYXZ, rotateYXZ, rotateZ, rotateZ, rotateZYX, rotateZYX, rotateZYX, rotation, rotation, rotation, 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, set, set, set, set, set, set, set3x3, set3x3, set3x3, setColumn, setFloats, setFloats, 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, sub, sub, swap, toString, toString, transform, transform, transformAab, transformAab, transformDirection, transformDirection, transformPosition, transformPosition, translate, translate, translate, translate, translate, translate, translateLocal, translateLocal, translateLocal, translateLocal, translateLocal, translateLocal, translation, translation, translation, translationRotate, translationRotate, translationRotate, translationRotateInvert, translationRotateInvert, translationRotateMul, translationRotateMul, translationRotateScale, translationRotateScale, translationRotateScale, translationRotateScaleMul, translationRotateScaleMul, translationRotateTowards, translationRotateTowards, transpose3x3, transpose3x3, transpose3x3, zero
-
-
-
-
Constructor Detail
-
Matrix4x3dStack
public Matrix4x3dStack(int stackSize)
Create a newMatrix4x3dStack
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 theMatrix4x3dStack
simply only consists ofthis
Matrix4x3d
-
Matrix4x3dStack
public Matrix4x3dStack()
Do not invoke manually! Only meant for serialization.Invoking this constructor from client code will result in an inconsistent state of the created
Matrix4x3dStack
instance.
-
-
Method Detail
-
clear
public Matrix4x3dStack clear()
Set the stack pointer to zero and set the current/bottom matrix toidentity
.- Returns:
- this
-
pushMatrix
public Matrix4x3dStack 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
public Matrix4x3dStack popMatrix()
Decrement the stack pointer by one.This will effectively dispose of the current matrix.
- Returns:
- this
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classMatrix4x3d
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classMatrix4x3d
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classMatrix4x3d
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classMatrix4x3d
- Throws:
java.io.IOException
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
- Overrides:
clone
in classMatrix4x3d
- Throws:
java.lang.CloneNotSupportedException
-
-