Class PoseStackMixin

java.lang.Object
foundry.veil.mixin.client.pipeline.PoseStackMixin
All Implemented Interfaces:
MatrixStack

public abstract class PoseStackMixin extends Object implements MatrixStack
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    applyScale(float x, float y, float z)
    Scales the position and normal by the specified amount in the x, y, and z.
    void
    Clears all transformations.
    boolean
     
    boolean
     
    abstract com.mojang.blaze3d.vertex.PoseStack.Pose
     
    void
    Restores a previous position and normal set with MatrixStack.matrixPush().
    void
    Saves the current position and normal transformation for restoring later with MatrixStack.matrixPop().
    com.mojang.blaze3d.vertex.PoseStack.Pose
     
    void
    rotate(float angle, float x, float y, float z)
    Rotates the position and normal by the specified angle about the line specified by x, y, z.
    void
    rotate(org.joml.Quaterniondc rotation)
    Rotates the position and normal by the specified quaternion rotation.
    void
    rotate(org.joml.Quaternionfc rotation)
    Rotates the position and normal by the specified quaternion rotation.
    void
    rotateAround(org.joml.Quaterniondc rotation, double x, double y, double z)
    Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
    void
    rotateAround(org.joml.Quaternionfc rotation, float x, float y, float z)
    Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
    void
    rotateXYZ(float x, float y, float z)
    Rotates about the x, y, then z planes the specified angles.
    void
    rotateZYX(float z, float y, float x)
    Rotates about the z, y, then x planes the specified angles.
    abstract void
    shadow$mulPose(org.joml.Quaternionf quaternion)
     
    abstract void
     
    abstract void
     
    abstract void
    shadow$rotateAround(org.joml.Quaternionf quaternion, float x, float y, float z)
     
    abstract void
    shadow$scale(float x, float y, float z)
     
    com.mojang.blaze3d.vertex.PoseStack
     
    void
    translate(float x, float y, float z)
    Translates the position by the specified amount.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface foundry.veil.api.client.render.MatrixStack

    applyScale, applyScale, applyScale, copy, copy, copy, normal, position, rotate, rotateXYZ, rotateZYX, setIdentity, translate
  • Constructor Details

    • PoseStackMixin

      public PoseStackMixin()
  • Method Details

    • shadow$scale

      public abstract void shadow$scale(float x, float y, float z)
    • shadow$mulPose

      public abstract void shadow$mulPose(org.joml.Quaternionf quaternion)
    • shadow$rotateAround

      public abstract void shadow$rotateAround(org.joml.Quaternionf quaternion, float x, float y, float z)
    • shadow$pushPose

      public abstract void shadow$pushPose()
    • shadow$popPose

      public abstract void shadow$popPose()
    • last

      public abstract com.mojang.blaze3d.vertex.PoseStack.Pose last()
    • clear

      public void clear()
      Description copied from interface: MatrixStack
      Clears all transformations.
      Specified by:
      clear in interface MatrixStack
    • translate

      public void translate(float x, float y, float z)
      Description copied from interface: MatrixStack
      Translates the position by the specified amount.
      Specified by:
      translate in interface MatrixStack
      Parameters:
      x - The x amount
      y - The y amount
      z - The z amount
    • rotate

      public void rotate(org.joml.Quaterniondc rotation)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation.
      Specified by:
      rotate in interface MatrixStack
      Parameters:
      rotation - The rotation to use
    • rotate

      public void rotate(org.joml.Quaternionfc rotation)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation.
      Specified by:
      rotate in interface MatrixStack
      Parameters:
      rotation - The rotation to use
    • rotate

      public void rotate(float angle, float x, float y, float z)
      Description copied from interface: MatrixStack

      Rotates the position and normal by the specified angle about the line specified by x, y, z.

      For rotating along all 3 axes, use MatrixStack.rotateXYZ(float, float, float) or MatrixStack.rotateZYX(float, float, float).

      Specified by:
      rotate in interface MatrixStack
      Parameters:
      angle - The amount to rotate in radians
      x - The x normal
      y - The y normal
      z - The z normal
    • rotateXYZ

      public void rotateXYZ(float x, float y, float z)
      Description copied from interface: MatrixStack
      Rotates about the x, y, then z planes the specified angles.
      Specified by:
      rotateXYZ in interface MatrixStack
      Parameters:
      x - The amount to rotate in the x in radians
      y - The amount to rotate in the y in radians
      z - The amount to rotate in the z in radians
    • rotateZYX

      public void rotateZYX(float z, float y, float x)
      Description copied from interface: MatrixStack
      Rotates about the z, y, then x planes the specified angles.
      Specified by:
      rotateZYX in interface MatrixStack
      Parameters:
      z - The amount to rotate in the x in radians
      y - The amount to rotate in the y in radians
      x - The amount to rotate in the z in radians
    • rotateAround

      public void rotateAround(org.joml.Quaterniondc rotation, double x, double y, double z)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
      Specified by:
      rotateAround in interface MatrixStack
      Parameters:
      rotation - The rotation to use
      x - The rotation point X
      y - The rotation point Y
      z - The rotation point Z
    • rotateAround

      public void rotateAround(org.joml.Quaternionfc rotation, float x, float y, float z)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
      Specified by:
      rotateAround in interface MatrixStack
      Parameters:
      rotation - The rotation to use
      x - The rotation point X
      y - The rotation point Y
      z - The rotation point Z
    • applyScale

      public void applyScale(float x, float y, float z)
      Description copied from interface: MatrixStack
      Scales the position and normal by the specified amount in the x, y, and z.
      Specified by:
      applyScale in interface MatrixStack
      Parameters:
      x - The x scale factor
      y - The y scale factor
      z - The z scale factor
    • isIdentity

      public boolean isIdentity()
      Specified by:
      isIdentity in interface MatrixStack
      Returns:
      Whether the MatrixStack.position() and MatrixStack.normal() are identity matrices
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface MatrixStack
      Returns:
      Whether there are no more transformations to pop
    • matrixPush

      public void matrixPush()
      Description copied from interface: MatrixStack
      Saves the current position and normal transformation for restoring later with MatrixStack.matrixPop().
      Specified by:
      matrixPush in interface MatrixStack
    • matrixPop

      public void matrixPop()
      Description copied from interface: MatrixStack
      Restores a previous position and normal set with MatrixStack.matrixPush().
      Specified by:
      matrixPop in interface MatrixStack
    • pose

      public com.mojang.blaze3d.vertex.PoseStack.Pose pose()
      Specified by:
      pose in interface MatrixStack
      Returns:
      The last pose in the stack
    • toPoseStack

      public com.mojang.blaze3d.vertex.PoseStack toPoseStack()
      Specified by:
      toPoseStack in interface MatrixStack
      Returns:
      This matrix stack as a vanilla mc PoseStack