Class AffineTransformation

java.lang.Object
net.minecraft.util.math.AffineTransformation

public final class AffineTransformation extends Object
An affine transformation is a decomposition of a 4×4 real matrix into a left rotation quaternion, a scale 3-vector, a second right rotation quaternion, and a translation 3-vector. It is also known as "TRSR" transformation, meaning "translation rotation scale rotation".

This class is immutable; its matrix is lazily decomposed upon demand.

Mappings:
Namespace Name
official j
intermediary net/minecraft/class_4590
named net/minecraft/util/math/AffineTransformation
  • Field Details

    • CODEC

      public static final com.mojang.serialization.Codec<AffineTransformation> CODEC
      Mappings:
      Namespace Name Mixin selector
      official a Lj;a:Lcom/mojang/serialization/Codec;
      intermediary field_42532 Lnet/minecraft/class_4590;field_42532:Lcom/mojang/serialization/Codec;
      named CODEC Lnet/minecraft/util/math/AffineTransformation;CODEC:Lcom/mojang/serialization/Codec;
    • ANY_CODEC

      public static final com.mojang.serialization.Codec<AffineTransformation> ANY_CODEC
      Mappings:
      Namespace Name Mixin selector
      official b Lj;b:Lcom/mojang/serialization/Codec;
      intermediary field_42533 Lnet/minecraft/class_4590;field_42533:Lcom/mojang/serialization/Codec;
      named ANY_CODEC Lnet/minecraft/util/math/AffineTransformation;ANY_CODEC:Lcom/mojang/serialization/Codec;
    • IDENTITY

      private static final AffineTransformation IDENTITY
      Mappings:
      Namespace Name Mixin selector
      official i Lj;i:Lj;
      intermediary field_20906 Lnet/minecraft/class_4590;field_20906:Lnet/minecraft/class_4590;
      named IDENTITY Lnet/minecraft/util/math/AffineTransformation;IDENTITY:Lnet/minecraft/util/math/AffineTransformation;
    • matrix

      private final Matrix4f matrix
      Mappings:
      Namespace Name Mixin selector
      official c Lj;c:Lorg/joml/Matrix4f;
      intermediary field_20900 Lnet/minecraft/class_4590;field_20900:Lorg/joml/Matrix4f;
      named matrix Lnet/minecraft/util/math/AffineTransformation;matrix:Lorg/joml/Matrix4f;
    • initialized

      private boolean initialized
      Mappings:
      Namespace Name Mixin selector
      official d Lj;d:Z
      intermediary field_20901 Lnet/minecraft/class_4590;field_20901:Z
      named initialized Lnet/minecraft/util/math/AffineTransformation;initialized:Z
    • translation

      @Nullable private @Nullable Vector3f translation
      Mappings:
      Namespace Name Mixin selector
      official e Lj;e:Lorg/joml/Vector3f;
      intermediary field_20902 Lnet/minecraft/class_4590;field_20902:Lorg/joml/Vector3f;
      named translation Lnet/minecraft/util/math/AffineTransformation;translation:Lorg/joml/Vector3f;
    • leftRotation

      @Nullable private @Nullable Quaternionf leftRotation
      Mappings:
      Namespace Name Mixin selector
      official f Lj;f:Lorg/joml/Quaternionf;
      intermediary field_20903 Lnet/minecraft/class_4590;field_20903:Lorg/joml/Quaternionf;
      named leftRotation Lnet/minecraft/util/math/AffineTransformation;leftRotation:Lorg/joml/Quaternionf;
    • scale

      @Nullable private @Nullable Vector3f scale
      Mappings:
      Namespace Name Mixin selector
      official g Lj;g:Lorg/joml/Vector3f;
      intermediary field_20904 Lnet/minecraft/class_4590;field_20904:Lorg/joml/Vector3f;
      named scale Lnet/minecraft/util/math/AffineTransformation;scale:Lorg/joml/Vector3f;
    • rightRotation

      @Nullable private @Nullable Quaternionf rightRotation
      Mappings:
      Namespace Name Mixin selector
      official h Lj;h:Lorg/joml/Quaternionf;
      intermediary field_20905 Lnet/minecraft/class_4590;field_20905:Lorg/joml/Quaternionf;
      named rightRotation Lnet/minecraft/util/math/AffineTransformation;rightRotation:Lorg/joml/Quaternionf;
  • Constructor Details

    • AffineTransformation

      public AffineTransformation(@Nullable @Nullable Matrix4f matrix)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lj;<init>(Lorg/joml/Matrix4f;)V
      intermediary <init> Lnet/minecraft/class_4590;<init>(Lorg/joml/Matrix4f;)V
      named <init> Lnet/minecraft/util/math/AffineTransformation;<init>(Lorg/joml/Matrix4f;)V
    • AffineTransformation

      public AffineTransformation(@Nullable @Nullable Vector3f translation, @Nullable @Nullable Quaternionf leftRotation, @Nullable @Nullable Vector3f scale, @Nullable @Nullable Quaternionf rightRotation)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lj;<init>(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)V
      intermediary <init> Lnet/minecraft/class_4590;<init>(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)V
      named <init> Lnet/minecraft/util/math/AffineTransformation;<init>(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)V
  • Method Details

    • identity

      public static AffineTransformation identity()
      Mappings:
      Namespace Name Mixin selector
      official a Lj;a()Lj;
      intermediary method_22931 Lnet/minecraft/class_4590;method_22931()Lnet/minecraft/class_4590;
      named identity Lnet/minecraft/util/math/AffineTransformation;identity()Lnet/minecraft/util/math/AffineTransformation;
    • multiply

      public AffineTransformation multiply(AffineTransformation other)
      Mappings:
      Namespace Name Mixin selector
      official a Lj;a(Lj;)Lj;
      intermediary method_22933 Lnet/minecraft/class_4590;method_22933(Lnet/minecraft/class_4590;)Lnet/minecraft/class_4590;
      named multiply Lnet/minecraft/util/math/AffineTransformation;multiply(Lnet/minecraft/util/math/AffineTransformation;)Lnet/minecraft/util/math/AffineTransformation;
    • invert

      Mappings:
      Namespace Name Mixin selector
      official b Lj;b()Lj;
      intermediary method_22935 Lnet/minecraft/class_4590;method_22935()Lnet/minecraft/class_4590;
      named invert Lnet/minecraft/util/math/AffineTransformation;invert()Lnet/minecraft/util/math/AffineTransformation;
    • init

      private void init()
      Mappings:
      Namespace Name Mixin selector
      official h Lj;h()V
      intermediary method_22938 Lnet/minecraft/class_4590;method_22938()V
      named init Lnet/minecraft/util/math/AffineTransformation;init()V
    • setup

      private static Matrix4f setup(@Nullable @Nullable Vector3f translation, @Nullable @Nullable Quaternionf leftRotation, @Nullable @Nullable Vector3f scale, @Nullable @Nullable Quaternionf rightRotation)
      Mappings:
      Namespace Name Mixin selector
      official a Lj;a(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)Lorg/joml/Matrix4f;
      intermediary method_22934 Lnet/minecraft/class_4590;method_22934(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)Lorg/joml/Matrix4f;
      named setup Lnet/minecraft/util/math/AffineTransformation;setup(Lorg/joml/Vector3f;Lorg/joml/Quaternionf;Lorg/joml/Vector3f;Lorg/joml/Quaternionf;)Lorg/joml/Matrix4f;
    • getMatrix

      public Matrix4f getMatrix()
      Mappings:
      Namespace Name Mixin selector
      official c Lj;c()Lorg/joml/Matrix4f;
      intermediary method_22936 Lnet/minecraft/class_4590;method_22936()Lorg/joml/Matrix4f;
      named getMatrix Lnet/minecraft/util/math/AffineTransformation;getMatrix()Lorg/joml/Matrix4f;
    • getTranslation

      public Vector3f getTranslation()
      Mappings:
      Namespace Name Mixin selector
      official d Lj;d()Lorg/joml/Vector3f;
      intermediary method_35865 Lnet/minecraft/class_4590;method_35865()Lorg/joml/Vector3f;
      named getTranslation Lnet/minecraft/util/math/AffineTransformation;getTranslation()Lorg/joml/Vector3f;
    • getLeftRotation

      public Quaternionf getLeftRotation()
      Mappings:
      Namespace Name Mixin selector
      official e Lj;e()Lorg/joml/Quaternionf;
      intermediary method_22937 Lnet/minecraft/class_4590;method_22937()Lorg/joml/Quaternionf;
      named getLeftRotation Lnet/minecraft/util/math/AffineTransformation;getLeftRotation()Lorg/joml/Quaternionf;
    • getScale

      public Vector3f getScale()
      Mappings:
      Namespace Name Mixin selector
      official f Lj;f()Lorg/joml/Vector3f;
      intermediary method_35866 Lnet/minecraft/class_4590;method_35866()Lorg/joml/Vector3f;
      named getScale Lnet/minecraft/util/math/AffineTransformation;getScale()Lorg/joml/Vector3f;
    • getRightRotation

      public Quaternionf getRightRotation()
      Mappings:
      Namespace Name Mixin selector
      official g Lj;g()Lorg/joml/Quaternionf;
      intermediary method_35867 Lnet/minecraft/class_4590;method_35867()Lorg/joml/Quaternionf;
      named getRightRotation Lnet/minecraft/util/math/AffineTransformation;getRightRotation()Lorg/joml/Quaternionf;
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
      Mappings:
      Namespace Name Mixin selector
      official equals Lj;equals(Ljava/lang/Object;)Z
      intermediary equals Lnet/minecraft/class_4590;equals(Ljava/lang/Object;)Z
      named equals Lnet/minecraft/util/math/AffineTransformation;equals(Ljava/lang/Object;)Z
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • interpolate

      public AffineTransformation interpolate(AffineTransformation target, float factor)
      Mappings:
      Namespace Name Mixin selector
      official a Lj;a(Lj;F)Lj;
      intermediary method_35864 Lnet/minecraft/class_4590;method_35864(Lnet/minecraft/class_4590;F)Lnet/minecraft/class_4590;
      named interpolate Lnet/minecraft/util/math/AffineTransformation;interpolate(Lnet/minecraft/util/math/AffineTransformation;F)Lnet/minecraft/util/math/AffineTransformation;