java.lang.Object
com.io7m.jtensors.core.unparameterized.matrices.Matrix4x4D
All Implemented Interfaces:
MatrixComputationalType, Matrix4x4DType, MatrixReadable4x4DType, MatrixReadableDType

public final class Matrix4x4D
extends java.lang.Object
implements Matrix4x4DType
The type of 4x4 double-typed matrices.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  Matrix4x4D.Builder
    Builds instances of type Matrix4x4D.
  • Method Summary

    Modifier and Type Method Description
    static Matrix4x4D.Builder builder()
    Creates a builder for Matrix4x4D.
    static Matrix4x4D copyOf​(Matrix4x4DType instance)
    Creates an immutable copy of a Matrix4x4DType value.
    boolean equals​(java.lang.Object another)
    This instance is equal to all instances of Matrix4x4D that have equal attribute values.
    int hashCode()
    Computes a hash code from attributes: r0c0, r0c1, r0c2, r0c3, r1c0, r1c1, r1c2, r1c3, r2c0, r2c1, r2c2, r2c3, r3c0, r3c1, r3c2, r3c3.
    static Matrix4x4D of​(double r0c0, double r0c1, double r0c2, double r0c3, double r1c0, double r1c1, double r1c2, double r1c3, double r2c0, double r2c1, double r2c2, double r2c3, double r3c0, double r3c1, double r3c2, double r3c3)
    Construct a new immutable Matrix4x4D instance.
    double r0c0()  
    double r0c1()  
    double r0c2()  
    double r0c3()  
    double r1c0()  
    double r1c1()  
    double r1c2()  
    double r1c3()  
    double r2c0()  
    double r2c1()  
    double r2c2()  
    double r2c3()  
    double r3c0()  
    double r3c1()  
    double r3c2()  
    double r3c3()  
    java.lang.String toString()
    Prints the immutable value Matrix4x4D with attribute values.
    Matrix4x4D withR0c0​(double value)
    Copy the current immutable object by setting a value for the r0c0 attribute.
    Matrix4x4D withR0c1​(double value)
    Copy the current immutable object by setting a value for the r0c1 attribute.
    Matrix4x4D withR0c2​(double value)
    Copy the current immutable object by setting a value for the r0c2 attribute.
    Matrix4x4D withR0c3​(double value)
    Copy the current immutable object by setting a value for the r0c3 attribute.
    Matrix4x4D withR1c0​(double value)
    Copy the current immutable object by setting a value for the r1c0 attribute.
    Matrix4x4D withR1c1​(double value)
    Copy the current immutable object by setting a value for the r1c1 attribute.
    Matrix4x4D withR1c2​(double value)
    Copy the current immutable object by setting a value for the r1c2 attribute.
    Matrix4x4D withR1c3​(double value)
    Copy the current immutable object by setting a value for the r1c3 attribute.
    Matrix4x4D withR2c0​(double value)
    Copy the current immutable object by setting a value for the r2c0 attribute.
    Matrix4x4D withR2c1​(double value)
    Copy the current immutable object by setting a value for the r2c1 attribute.
    Matrix4x4D withR2c2​(double value)
    Copy the current immutable object by setting a value for the r2c2 attribute.
    Matrix4x4D withR2c3​(double value)
    Copy the current immutable object by setting a value for the r2c3 attribute.
    Matrix4x4D withR3c0​(double value)
    Copy the current immutable object by setting a value for the r3c0 attribute.
    Matrix4x4D withR3c1​(double value)
    Copy the current immutable object by setting a value for the r3c1 attribute.
    Matrix4x4D withR3c2​(double value)
    Copy the current immutable object by setting a value for the r3c2 attribute.
    Matrix4x4D withR3c3​(double value)
    Copy the current immutable object by setting a value for the r3c3 attribute.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.io7m.jtensors.core.unparameterized.matrices.MatrixReadable4x4DType

    rowColumn
  • Method Details

    • r0c0

      public double r0c0()
      Specified by:
      r0c0 in interface Matrix4x4DType
      Specified by:
      r0c0 in interface MatrixReadable4x4DType
      Returns:
      The value at row 0 column 0
    • r0c1

      public double r0c1()
      Specified by:
      r0c1 in interface Matrix4x4DType
      Specified by:
      r0c1 in interface MatrixReadable4x4DType
      Returns:
      The value at row 0 column 1
    • r0c2

      public double r0c2()
      Specified by:
      r0c2 in interface Matrix4x4DType
      Specified by:
      r0c2 in interface MatrixReadable4x4DType
      Returns:
      The value at row 0 column 2
    • r0c3

      public double r0c3()
      Specified by:
      r0c3 in interface Matrix4x4DType
      Specified by:
      r0c3 in interface MatrixReadable4x4DType
      Returns:
      The value at row 0 column 3
    • r1c0

      public double r1c0()
      Specified by:
      r1c0 in interface Matrix4x4DType
      Specified by:
      r1c0 in interface MatrixReadable4x4DType
      Returns:
      The value at row 1 column 0
    • r1c1

      public double r1c1()
      Specified by:
      r1c1 in interface Matrix4x4DType
      Specified by:
      r1c1 in interface MatrixReadable4x4DType
      Returns:
      The value at row 1 column 1
    • r1c2

      public double r1c2()
      Specified by:
      r1c2 in interface Matrix4x4DType
      Specified by:
      r1c2 in interface MatrixReadable4x4DType
      Returns:
      The value at row 1 column 2
    • r1c3

      public double r1c3()
      Specified by:
      r1c3 in interface Matrix4x4DType
      Specified by:
      r1c3 in interface MatrixReadable4x4DType
      Returns:
      The value at row 1 column 3
    • r2c0

      public double r2c0()
      Specified by:
      r2c0 in interface Matrix4x4DType
      Specified by:
      r2c0 in interface MatrixReadable4x4DType
      Returns:
      The value at row 2 column 0
    • r2c1

      public double r2c1()
      Specified by:
      r2c1 in interface Matrix4x4DType
      Specified by:
      r2c1 in interface MatrixReadable4x4DType
      Returns:
      The value at row 2 column 1
    • r2c2

      public double r2c2()
      Specified by:
      r2c2 in interface Matrix4x4DType
      Specified by:
      r2c2 in interface MatrixReadable4x4DType
      Returns:
      The value at row 2 column 2
    • r2c3

      public double r2c3()
      Specified by:
      r2c3 in interface Matrix4x4DType
      Specified by:
      r2c3 in interface MatrixReadable4x4DType
      Returns:
      The value at row 2 column 3
    • r3c0

      public double r3c0()
      Specified by:
      r3c0 in interface Matrix4x4DType
      Specified by:
      r3c0 in interface MatrixReadable4x4DType
      Returns:
      The value at row 3 column 0
    • r3c1

      public double r3c1()
      Specified by:
      r3c1 in interface Matrix4x4DType
      Specified by:
      r3c1 in interface MatrixReadable4x4DType
      Returns:
      The value at row 3 column 1
    • r3c2

      public double r3c2()
      Specified by:
      r3c2 in interface Matrix4x4DType
      Specified by:
      r3c2 in interface MatrixReadable4x4DType
      Returns:
      The value at row 3 column 2
    • r3c3

      public double r3c3()
      Specified by:
      r3c3 in interface Matrix4x4DType
      Specified by:
      r3c3 in interface MatrixReadable4x4DType
      Returns:
      The value at row 3 column 3
    • withR0c0

      public final Matrix4x4D withR0c0​(double value)
      Copy the current immutable object by setting a value for the r0c0 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r0c0
      Returns:
      A modified copy of the this object
    • withR0c1

      public final Matrix4x4D withR0c1​(double value)
      Copy the current immutable object by setting a value for the r0c1 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r0c1
      Returns:
      A modified copy of the this object
    • withR0c2

      public final Matrix4x4D withR0c2​(double value)
      Copy the current immutable object by setting a value for the r0c2 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r0c2
      Returns:
      A modified copy of the this object
    • withR0c3

      public final Matrix4x4D withR0c3​(double value)
      Copy the current immutable object by setting a value for the r0c3 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r0c3
      Returns:
      A modified copy of the this object
    • withR1c0

      public final Matrix4x4D withR1c0​(double value)
      Copy the current immutable object by setting a value for the r1c0 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r1c0
      Returns:
      A modified copy of the this object
    • withR1c1

      public final Matrix4x4D withR1c1​(double value)
      Copy the current immutable object by setting a value for the r1c1 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r1c1
      Returns:
      A modified copy of the this object
    • withR1c2

      public final Matrix4x4D withR1c2​(double value)
      Copy the current immutable object by setting a value for the r1c2 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r1c2
      Returns:
      A modified copy of the this object
    • withR1c3

      public final Matrix4x4D withR1c3​(double value)
      Copy the current immutable object by setting a value for the r1c3 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r1c3
      Returns:
      A modified copy of the this object
    • withR2c0

      public final Matrix4x4D withR2c0​(double value)
      Copy the current immutable object by setting a value for the r2c0 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r2c0
      Returns:
      A modified copy of the this object
    • withR2c1

      public final Matrix4x4D withR2c1​(double value)
      Copy the current immutable object by setting a value for the r2c1 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r2c1
      Returns:
      A modified copy of the this object
    • withR2c2

      public final Matrix4x4D withR2c2​(double value)
      Copy the current immutable object by setting a value for the r2c2 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r2c2
      Returns:
      A modified copy of the this object
    • withR2c3

      public final Matrix4x4D withR2c3​(double value)
      Copy the current immutable object by setting a value for the r2c3 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r2c3
      Returns:
      A modified copy of the this object
    • withR3c0

      public final Matrix4x4D withR3c0​(double value)
      Copy the current immutable object by setting a value for the r3c0 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r3c0
      Returns:
      A modified copy of the this object
    • withR3c1

      public final Matrix4x4D withR3c1​(double value)
      Copy the current immutable object by setting a value for the r3c1 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r3c1
      Returns:
      A modified copy of the this object
    • withR3c2

      public final Matrix4x4D withR3c2​(double value)
      Copy the current immutable object by setting a value for the r3c2 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r3c2
      Returns:
      A modified copy of the this object
    • withR3c3

      public final Matrix4x4D withR3c3​(double value)
      Copy the current immutable object by setting a value for the r3c3 attribute. A value strict bits equality used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for r3c3
      Returns:
      A modified copy of the this object
    • equals

      public boolean equals​(java.lang.Object another)
      This instance is equal to all instances of Matrix4x4D that have equal attribute values.
      Overrides:
      equals in class java.lang.Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: r0c0, r0c1, r0c2, r0c3, r1c0, r1c1, r1c2, r1c3, r2c0, r2c1, r2c2, r2c3, r3c0, r3c1, r3c2, r3c3.
      Overrides:
      hashCode in class java.lang.Object
      Returns:
      hashCode value
    • toString

      public java.lang.String toString()
      Prints the immutable value Matrix4x4D with attribute values.
      Overrides:
      toString in class java.lang.Object
      Returns:
      A string representation of the value
    • of

      public static Matrix4x4D of​(double r0c0, double r0c1, double r0c2, double r0c3, double r1c0, double r1c1, double r1c2, double r1c3, double r2c0, double r2c1, double r2c2, double r2c3, double r3c0, double r3c1, double r3c2, double r3c3)
      Construct a new immutable Matrix4x4D instance.
      Parameters:
      r0c0 - The value for the r0c0 attribute
      r0c1 - The value for the r0c1 attribute
      r0c2 - The value for the r0c2 attribute
      r0c3 - The value for the r0c3 attribute
      r1c0 - The value for the r1c0 attribute
      r1c1 - The value for the r1c1 attribute
      r1c2 - The value for the r1c2 attribute
      r1c3 - The value for the r1c3 attribute
      r2c0 - The value for the r2c0 attribute
      r2c1 - The value for the r2c1 attribute
      r2c2 - The value for the r2c2 attribute
      r2c3 - The value for the r2c3 attribute
      r3c0 - The value for the r3c0 attribute
      r3c1 - The value for the r3c1 attribute
      r3c2 - The value for the r3c2 attribute
      r3c3 - The value for the r3c3 attribute
      Returns:
      An immutable Matrix4x4D instance
    • copyOf

      public static Matrix4x4D copyOf​(Matrix4x4DType instance)
      Creates an immutable copy of a Matrix4x4DType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable Matrix4x4D instance
    • builder

      public static Matrix4x4D.Builder builder()
      Creates a builder for Matrix4x4D.
       Matrix4x4D.builder()
          .setR0c0(double) // required r0c0
          .setR0c1(double) // required r0c1
          .setR0c2(double) // required r0c2
          .setR0c3(double) // required r0c3
          .setR1c0(double) // required r1c0
          .setR1c1(double) // required r1c1
          .setR1c2(double) // required r1c2
          .setR1c3(double) // required r1c3
          .setR2c0(double) // required r2c0
          .setR2c1(double) // required r2c1
          .setR2c2(double) // required r2c2
          .setR2c3(double) // required r2c3
          .setR3c0(double) // required r3c0
          .setR3c1(double) // required r3c1
          .setR3c2(double) // required r3c2
          .setR3c3(double) // required r3c3
          .build();
       
      Returns:
      A new Matrix4x4D builder