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
    pop()
    Restores a previous position and normal set with #pushMatrix().
    com.mojang.blaze3d.vertex.PoseStack.Pose
     
    void
    Saves the current position and normal transformation for restoring later wit #popMatrix().
    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 boolean
     
    abstract com.mojang.blaze3d.vertex.PoseStack.Pose
     
    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)
     
    abstract void
     
    abstract void
    shadow$translate(float x, float y, float z)
     
    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$translate

      public abstract void shadow$translate(float x, float y, float z)
    • 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()
    • shadow$clear

      public abstract boolean shadow$clear()
    • shadow$setIdentity

      public abstract void shadow$setIdentity()
    • shadow$last

      public abstract com.mojang.blaze3d.vertex.PoseStack.Pose shadow$last()
    • 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
    • push

      public void push()
      Description copied from interface: MatrixStack
      Saves the current position and normal transformation for restoring later wit #popMatrix().
      Specified by:
      push in interface MatrixStack
    • pop

      public void pop()
      Description copied from interface: MatrixStack
      Restores a previous position and normal set with #pushMatrix().
      Specified by:
      pop 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