All Superinterfaces:
Comparable<JoltPhysicsObject>, ConstJoltPhysicsObject
All Known Implementing Classes:
Mat44

public interface Mat44Arg extends ConstJoltPhysicsObject
Read-only access to a Mat44. (native type: const Mat44)
  • Method Details

    • getAxisX

      Vec3 getAxisX()
      Copy the first column to a Vec3. The matrix is unaffected.
      Returns:
      a new vector
    • getAxisY

      Vec3 getAxisY()
      Copy the 2nd column to a Vec3. The matrix is unaffected.
      Returns:
      a new vector
    • getAxisZ

      Vec3 getAxisZ()
      Copy the 3rd column to a Vec3. The matrix is unaffected.
      Returns:
      a new vector
    • getDiagonal3

      Vec3 getDiagonal3()
      Copy the diagonal elements to a Vec3. The matrix is unaffected.
      Returns:
      a new vector
    • getElement

      float getElement(int row, int column)
      Return the specified element. The matrix is unaffected.
      Parameters:
      row - the zero-origin index of the row (≥0, <4)
      column - the zero-origin index of the column (≥0, <4)
      Returns:
      the element's value
    • getQuaternion

      Quat getQuaternion()
      Convert the rotation to a Quat. The matrix is unaffected.
      Returns:
      a new rotation quaternion
    • getTranslation

      Vec3 getTranslation()
      Copy the translation component. The matrix is unaffected.
      Returns:
      a new vector
    • inversed

      Mat44 inversed()
      Return the inverse of the current matrix, which is unaffected.
      Returns:
      a new matrix
    • inversed3x3

      Mat44 inversed3x3()
      Return the inverse of the 3x3 portion. The current matrix is unaffected.
      Returns:
      a new matrix
    • inversedRotationTranslation

      Mat44 inversedRotationTranslation()
      Return the inverse of the current matrix, assuming the current matrix consists entirely of rotation and translation. The current matrix is unaffected.
      Returns:
      a new matrix
    • isEqual

      boolean isEqual(Mat44Arg m2)
      Test whether the current matrix is equal to the argument. The current matrix is unaffected.
      Parameters:
      m2 - the 2nd matrix to test (not null, unaffected)
      Returns:
      true if equal, false if unequal
    • isIdentity

      boolean isIdentity()
      Test whether the current matrix is an identity matrix. The matrix is unaffected.
      Returns:
      true if exactly equal, otherwise false
    • multiply

      Mat44 multiply(Mat44Arg right)
      Multiply the current matrix by the argument. The current matrix is unaffected.
      Parameters:
      right - the right factor (not null, unaffected)
      Returns:
      a new matrix
    • multiply3x3

      Mat44 multiply3x3(Mat44Arg right)
      Multiply the current 3x3 matrix by the specified 3x3 matrix. The current matrix is unaffected.
      Parameters:
      right - the right factor (not null, unaffected)
      Returns:
      a new matrix
    • multiply3x3

      Vec3 multiply3x3(Vec3Arg vec3Arg)
      Multiply the 3x3 matrix by the specified column vector. The matrix is unaffected.
      Parameters:
      vec3Arg - the right factor (not null, unaffected)
      Returns:
      a new vector
    • multiply3x3Transposed

      Vec3 multiply3x3Transposed(Vec3Arg vec3Arg)
      Multiply the transpose of the 3x3 matrix by the specified column vector. The matrix is unaffected.
      Parameters:
      vec3Arg - the right factor (not null, unaffected)
      Returns:
      a new vector
    • multiply3x4

      Vec3 multiply3x4(Vec3Arg vec3Arg)
      Multiply the 3x4 matrix by the specified column vector, with the 4th component of the right factor implied to be one. The matrix is unaffected.
      Parameters:
      vec3Arg - the right factor (not null, unaffected)
      Returns:
      a new vector
    • multiply3x4InPlace

      void multiply3x4InPlace(Vec3 storeVec)
      Multiply the 3x4 matrix by the specified column vector, with the 4th component of the right factor implied to be one. Store the result in the argument vector. The matrix is unaffected.
      Parameters:
      storeVec - the right factor and storage for the result (not null)
    • postTranslated

      Mat44 postTranslated(Vec3Arg vec3)
      Post multiply by the specified translation vector. The current matrix is unaffected.
      Parameters:
      vec3 - the left factor (not null, unaffected)
      Returns:
      a new matrix
    • putColumnMajor

      void putColumnMajor(FloatBuffer storeBuffer)
      Write all 16 components to the specified buffer in column-major order and advance the buffer's position by 16. The matrix is unaffected.
      Parameters:
      storeBuffer - the destination buffer (not null)