Record Class BoneMovement

java.lang.Object
java.lang.Record
kr.toxicity.model.api.bone.BoneMovement
Record Components:
position - the local position of the bone
scale - the local scale of the bone
rotation - the final local rotation of the bone as a quaternion
rawRotation - the local rotation of the bone in Euler angles (degrees) before being converted to a quaternion

public record BoneMovement(@NotNull org.joml.Vector3f position, @NotNull org.joml.Vector3f scale, @NotNull org.joml.Quaternionf rotation, @NotNull org.joml.Vector3f rawRotation) extends Record
Represents the transformation state of a single bone, including its position, scale, and rotation.

This record is used to calculate the final transformation of a bone after applying animations.

Since:
1.15.2
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new BoneMovement with default (identity) transformations.
    BoneMovement(@NotNull org.joml.Vector3f position, @NotNull org.joml.Vector3f scale, @NotNull org.joml.Quaternionf rotation, @NotNull org.joml.Vector3f rawRotation)
    Creates an instance of a BoneMovement record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    @NotNull BoneMovement
    lerp(@NotNull BoneMovement to, float alpha, @NotNull BoneMovement dest)
    Linearly interpolates between this movement and another movement.
    @NotNull org.joml.Vector3f
    Returns the value of the position record component.
    @NotNull org.joml.Vector3f
    Returns the value of the rawRotation record component.
    @NotNull org.joml.Quaternionf
    Returns the value of the rotation record component.
    @NotNull org.joml.Vector3f
    Returns the value of the scale record component.
    @NotNull BoneMovement
    set(@NotNull BoneMovement movement)
    Copies the values from another BoneMovement into this one.
    final String
    Returns a string representation of this record class.

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • BoneMovement

      public BoneMovement()
      Creates a new BoneMovement with default (identity) transformations.
      Since:
      1.15.2
    • BoneMovement

      public BoneMovement(@NotNull @NotNull org.joml.Vector3f position, @NotNull @NotNull org.joml.Vector3f scale, @NotNull @NotNull org.joml.Quaternionf rotation, @NotNull @NotNull org.joml.Vector3f rawRotation)
      Creates an instance of a BoneMovement record class.
      Parameters:
      position - the value for the position record component
      scale - the value for the scale record component
      rotation - the value for the rotation record component
      rawRotation - the value for the rawRotation record component
  • Method Details

    • set

      @NotNull public @NotNull BoneMovement set(@NotNull @NotNull BoneMovement movement)
      Copies the values from another BoneMovement into this one.
      Parameters:
      movement - the source movement
      Returns:
      this movement instance
      Since:
      1.15.2
    • lerp

      @NotNull public @NotNull BoneMovement lerp(@NotNull @NotNull BoneMovement to, float alpha, @NotNull @NotNull BoneMovement dest)
      Linearly interpolates between this movement and another movement.
      Parameters:
      to - the target movement
      alpha - the interpolation factor (0.0 to 1.0)
      dest - the destination movement to store the result
      Returns:
      the destination movement
      Since:
      2.1.0
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • position

      @NotNull public @NotNull org.joml.Vector3f position()
      Returns the value of the position record component.
      Returns:
      the value of the position record component
    • scale

      @NotNull public @NotNull org.joml.Vector3f scale()
      Returns the value of the scale record component.
      Returns:
      the value of the scale record component
    • rotation

      @NotNull public @NotNull org.joml.Quaternionf rotation()
      Returns the value of the rotation record component.
      Returns:
      the value of the rotation record component
    • rawRotation

      @NotNull public @NotNull org.joml.Vector3f rawRotation()
      Returns the value of the rawRotation record component.
      Returns:
      the value of the rawRotation record component