Interface Matrix4d

All Known Subinterfaces:
MMatrix4d

public interface Matrix4d
Read only interface for 4x4 matrices.
Since:
9.10.2
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static Matrix4d
    Returns a new identity matrix.
  • Method Summary

    Modifier and Type
    Method
    Description
    add​(double scalar)
    Returns a copy of this matrix after adding a scalar to each component of this matrix.
    add​(Matrix4d matrix)
    Returns a copy of this matrix after calculating the sum of this matrix and the given matrix.
    static Matrix4d
    create​(double[] elements)
    Constructs a matrix with the given array of 16 elements or 12 elements.
    static Matrix4d
    create​(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)
    Constructs a matrix with the given 16 elements.
    static Matrix4d
    create​(Matrix4d matrix)
    Returns a new matrix with the values of the given matrix.
    static Matrix4d
    create​(Vector3d x, Vector3d y, Vector3d z, Vector3d translation)
    Constructs a matrix from the given vectors and the translation vector.
    double
    Returns the first element of the first row in the matrix.
    double
    Returns the second element of the first row in the matrix.
    double
    Returns the third element of the first row in the matrix.
    double
    Returns the fourth element of the first row in the matrix.
    double
    Returns the first element of the second row in the matrix.
    double
    Returns the second element of the second row in the matrix.
    double
    Returns the third element of the second row in the matrix.
    double
    Returns the fourth element of the second row in the matrix.
    double
    Returns the first element of the third row in the matrix.
    double
    Returns the second element of the third row in the matrix.
    double
    Returns the third element of the third row in the matrix.
    double
    Returns the fourth element of the third row in the matrix.
    double
    Returns the first element of the fourth row in the matrix.
    double
    Returns the second element of the fourth row in the matrix.
    double
    Returns the third element of the fourth row in the matrix.
    double
    Returns the fourth element of the fourth row in the matrix.
    Returns the translation component of this matrix.
    boolean
    Returns true if this matrix is an identity matrix.
    multiply​(Matrix4d matrix)
    Returns a copy of this matrix after calculating the product of this matrix and the given matrix.
    static MMatrix4d
    productOf​(Matrix4d matrix1, Matrix4d matrix2)
    Returns the product of the two inputed matrixes.
    subtract​(Matrix4d matrix)
    Returns a copy of this matrix after calculating the difference between this matrix and the given matrix.
    transform​(Vector3d vector)
    Returns a copy of the given vector transformed by this matrix.
    transform​(Collection<? extends Vector3d> points)
    Transforms the points with the transformation matrix.
    Transforms the normal of this matrix by getting the normals of the inputed parameter.
  • Field Details

    • IDENTITY

      static final Matrix4d IDENTITY
      Returns a new identity matrix.
      Since:
      9.10.2
  • Method Details

    • create

      static Matrix4d create(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)
      Constructs a matrix with the given 16 elements. The first four elements are the first row of the matrix. The second four elements are the second row of the matrix. The third four elements are the third row of the matrix. The fourth four elements are the fourth row of the matrix.
      Parameters:
      m00 - first element in first row
      m01 - second element in first row
      m02 - third element in first row
      m03 - fourth element in first row
      m10 - first element in second row
      m11 - second element in second row
      m12 - third element in second row
      m13 - fourth element in second row
      m20 - first element in third row
      m21 - second element in third row
      m22 - third element in third row
      m23 - fourth element in third row
      m30 - first element in fourth row
      m31 - second element in fourth row
      m32 - third element in fourth row
      m33 - fourth element in fourth row
      Returns:
      a new matrix with the given 16 elements
      Since:
      9.10.2
    • create

      static Matrix4d create(Matrix4d matrix)
      Returns a new matrix with the values of the given matrix.
      Parameters:
      matrix - the matrix that is given to create another matrix
      Returns:
      a new matrix with the values of the given matrix
      Since:
      9.10.2
    • create

      static Matrix4d create(Vector3d x, Vector3d y, Vector3d z, Vector3d translation)
      Constructs a matrix from the given vectors and the translation vector.
      Parameters:
      x - the x vector
      y - the y vector
      z - the z vector
      translation - the translation vector
      Returns:
      a new matrix constructed from the given vectors and the translation vector
      Since:
      9.10.2
    • create

      static Matrix4d create(double[] elements)
      Constructs a matrix with the given array of 16 elements or 12 elements. The first four elements are the first row of the matrix. The second four elements are the second row of the matrix. The third four elements are the third row of the matrix. The fourth four elements, if present, are the fourth row of the matrix, and if not present they are set to (0, 0, 0, 1). Example: M00 = elements[0], M01 = elements[1] etc...
      Parameters:
      elements - the elements array
      Returns:
      returns a new matrix with the contents from elements
      Throws:
      IllegalArgumentException - if the given array does not contain 12 or 16 elements
      Since:
      9.10.2
    • getM00

      double getM00()
      Returns the first element of the first row in the matrix.
      Returns:
      first element of first row
      Since:
      9.10.2
    • getM01

      double getM01()
      Returns the second element of the first row in the matrix.
      Returns:
      second element of first row
      Since:
      9.10.2
    • getM02

      double getM02()
      Returns the third element of the first row in the matrix.
      Returns:
      third element of first row
      Since:
      9.10.2
    • getM03

      double getM03()
      Returns the fourth element of the first row in the matrix.
      Returns:
      fourth element of first row
      Since:
      9.10.2
    • getM10

      double getM10()
      Returns the first element of the second row in the matrix.
      Returns:
      first element of second row
      Since:
      9.10.2
    • getM11

      double getM11()
      Returns the second element of the second row in the matrix.
      Returns:
      second element of second row
      Since:
      9.10.2
    • getM12

      double getM12()
      Returns the third element of the second row in the matrix.
      Returns:
      third element of second row
      Since:
      9.10.2
    • getM13

      double getM13()
      Returns the fourth element of the second row in the matrix.
      Returns:
      fourth element of second row.
      Since:
      9.10.2
    • getM20

      double getM20()
      Returns the first element of the third row in the matrix.
      Returns:
      first element of third row
      Since:
      9.10.2
    • getM21

      double getM21()
      Returns the second element of the third row in the matrix.
      Returns:
      second element of third row
      Since:
      9.10.2
    • getM22

      double getM22()
      Returns the third element of the third row in the matrix.
      Returns:
      third element of third row
      Since:
      9.10.2
    • getM23

      double getM23()
      Returns the fourth element of the third row in the matrix.
      Returns:
      fourth element of third row
      Since:
      9.10.2
    • getM30

      double getM30()
      Returns the first element of the fourth row in the matrix.
      Returns:
      first element of fourth row
      Since:
      9.10.2
    • getM31

      double getM31()
      Returns the second element of the fourth row in the matrix.
      Returns:
      second element of fourth row
      Since:
      9.10.2
    • getM32

      double getM32()
      Returns the third element of the fourth row in the matrix.
      Returns:
      third element of fourth row
      Since:
      9.10.2
    • getM33

      double getM33()
      Returns the fourth element of the fourth row in the matrix.
      Returns:
      fourth element of fourth row
      Since:
      9.10.2
    • getTranslation

      MVector3d getTranslation()
      Returns the translation component of this matrix.
      Returns:
      the translation
      Since:
      9.10.2
    • transform

      MVector3d transform(Vector3d vector)
      Returns a copy of the given vector transformed by this matrix.
      Parameters:
      vector - vector that is inputed to transform this vector
      Returns:
      returns a transformed 3D vector
      Since:
      9.10.2
    • transformNormal

      MVector3d transformNormal(Vector3d normal)
      Transforms the normal of this matrix by getting the normals of the inputed parameter.
      Parameters:
      normal - the input normal to be transformed
      Returns:
      returns a copy of the given vector transformed by this matrix
      Since:
      9.10.2
    • isIdentityMatrix

      boolean isIdentityMatrix()
      Returns true if this matrix is an identity matrix.
      Returns:
      returns true if this matrix is an identity matrix
      Since:
      9.10.2
    • transform

      Collection<MVector3d> transform(Collection<? extends Vector3d> points)
      Transforms the points with the transformation matrix.
      Parameters:
      points - the collection of points to be transformed
      Returns:
      returns a collection of transformed vector points
      Since:
      9.10.2
    • productOf

      static MMatrix4d productOf(Matrix4d matrix1, Matrix4d matrix2)
      Returns the product of the two inputed matrixes.
      Parameters:
      matrix1 - matrix on the left side of the multiplication
      matrix2 - matrix on the right side of the multiplication
      Returns:
      the product of the given matrices
    • add

      MMatrix4d add(double scalar)
      Returns a copy of this matrix after adding a scalar to each component of this matrix.
      Parameters:
      scalar - the scalar that is added to each component of this matrix
      Returns:
      a copy of this matrix after adding a scalar to each component of this matrix
      Since:
      9.10.2
    • add

      MMatrix4d add(Matrix4d matrix)
      Returns a copy of this matrix after calculating the sum of this matrix and the given matrix.
      Parameters:
      matrix - the matrix that is added to this matrix
      Returns:
      a copy of this matrix after calculating the sum of this matrix and the given matrix. and the given matrix.
      Since:
      9.10.2
    • multiply

      MMatrix4d multiply(Matrix4d matrix)
      Returns a copy of this matrix after calculating the product of this matrix and the given matrix.
      Parameters:
      matrix - the matrix by which this matrix is multiplied
      Returns:
      a copy of this matrix after calculating the product of this matrix and the given matrix.
      Since:
      9.10.2
    • subtract

      MMatrix4d subtract(Matrix4d matrix)
      Returns a copy of this matrix after calculating the difference between this matrix and the given matrix.
      Parameters:
      matrix - the matrix on the right side of the difference
      Returns:
      a copy of this matrix after calculating the difference between this matrix and the given matrix.
      Since:
      9.10.2