Package org.joml

Class Matrix3x2dStack

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, Matrix3x2dc

    public class Matrix3x2dStack
    extends Matrix3x2d
    implements java.lang.Cloneable
    A stack of many Matrix3x2d instances. This resembles the matrix stack known from legacy OpenGL.

    This Matrix3x2dStack class inherits from Matrix3x2d, so the current/top matrix is always the Matrix3x2dStack/Matrix3x2d itself. This affects all operations in Matrix3x2d that take another Matrix3x2d as parameter. If a Matrix3x2dStack 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
    • Constructor Detail

      • Matrix3x2dStack

        public Matrix3x2dStack​(int stackSize)
        Create a new Matrix3x2dStack 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 the Matrix3x2dStack simply only consists of this Matrix3x2d
      • Matrix3x2dStack

        public Matrix3x2dStack()
        Do not invoke manually! Only meant for serialization.

        Invoking this constructor from client code will result in an inconsistent state of the created Matrix3x2dStack instance.

    • Method Detail

      • clear

        public Matrix3x2dStack clear()
        Set the stack pointer to zero and set the current/bottom matrix to identity.
        Returns:
        this
      • pushMatrix

        public Matrix3x2dStack 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 Matrix3x2dStack popMatrix()
        Decrement the stack pointer by one.

        This will effectively dispose of the current matrix.

        Returns:
        this
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class Matrix3x2d
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class Matrix3x2d
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class Matrix3x2d
        Throws:
        java.io.IOException
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class Matrix3x2d
        Throws:
        java.lang.CloneNotSupportedException