Class PMatrix3x3D<A,​B>

java.lang.Object
com.io7m.jtensors.core.parameterized.matrices.PMatrix3x3D<A,​B>
Type Parameters:
A - A phantom type parameter (possibly representing a source coordinate system)
B - A phantom type parameter (possibly representing a target coordinate system)
All Implemented Interfaces:
MatrixComputationalType, PMatrix3x3DType<A,​B>, PMatrixReadable3x3DType<A,​B>, MatrixReadable3x3DType, MatrixReadableDType

public final class PMatrix3x3D<A,​B>
extends java.lang.Object
implements PMatrix3x3DType<A,​B>
The type of 3x3 double-typed matrices.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  PMatrix3x3D.Builder<A,​B>
    Builds instances of type PMatrix3x3D.
  • Method Summary

    Modifier and Type Method Description
    static <A,​ B> PMatrix3x3D.Builder<A,​B> builder()
    Creates a builder for PMatrix3x3D.
    static <A,​ B> PMatrix3x3D<A,​B> copyOf​(PMatrix3x3DType<A,​B> instance)
    Creates an immutable copy of a PMatrix3x3DType value.
    boolean equals​(java.lang.Object another)
    This instance is equal to all instances of PMatrix3x3D that have equal attribute values.
    int hashCode()
    Computes a hash code from attributes: r0c0, r0c1, r0c2, r1c0, r1c1, r1c2, r2c0, r2c1, r2c2.
    static <A,​ B> PMatrix3x3D<A,​B> of​(double r0c0, double r0c1, double r0c2, double r1c0, double r1c1, double r1c2, double r2c0, double r2c1, double r2c2)
    Construct a new immutable PMatrix3x3D instance.
    double r0c0()  
    double r0c1()  
    double r0c2()  
    double r1c0()  
    double r1c1()  
    double r1c2()  
    double r2c0()  
    double r2c1()  
    double r2c2()  
    java.lang.String toString()
    Prints the immutable value PMatrix3x3D with attribute values.
    PMatrix3x3D<A,​B> withR0c0​(double value)
    Copy the current immutable object by setting a value for the r0c0 attribute.
    PMatrix3x3D<A,​B> withR0c1​(double value)
    Copy the current immutable object by setting a value for the r0c1 attribute.
    PMatrix3x3D<A,​B> withR0c2​(double value)
    Copy the current immutable object by setting a value for the r0c2 attribute.
    PMatrix3x3D<A,​B> withR1c0​(double value)
    Copy the current immutable object by setting a value for the r1c0 attribute.
    PMatrix3x3D<A,​B> withR1c1​(double value)
    Copy the current immutable object by setting a value for the r1c1 attribute.
    PMatrix3x3D<A,​B> withR1c2​(double value)
    Copy the current immutable object by setting a value for the r1c2 attribute.
    PMatrix3x3D<A,​B> withR2c0​(double value)
    Copy the current immutable object by setting a value for the r2c0 attribute.
    PMatrix3x3D<A,​B> withR2c1​(double value)
    Copy the current immutable object by setting a value for the r2c1 attribute.
    PMatrix3x3D<A,​B> withR2c2​(double value)
    Copy the current immutable object by setting a value for the r2c2 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.MatrixReadable3x3DType

    rowColumn
  • Method Details

    • r0c0

      public double r0c0()
      Specified by:
      r0c0 in interface MatrixReadable3x3DType
      Specified by:
      r0c0 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 0 column 0
    • r0c1

      public double r0c1()
      Specified by:
      r0c1 in interface MatrixReadable3x3DType
      Specified by:
      r0c1 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 0 column 1
    • r0c2

      public double r0c2()
      Specified by:
      r0c2 in interface MatrixReadable3x3DType
      Specified by:
      r0c2 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 0 column 2
    • r1c0

      public double r1c0()
      Specified by:
      r1c0 in interface MatrixReadable3x3DType
      Specified by:
      r1c0 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 1 column 0
    • r1c1

      public double r1c1()
      Specified by:
      r1c1 in interface MatrixReadable3x3DType
      Specified by:
      r1c1 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 1 column 1
    • r1c2

      public double r1c2()
      Specified by:
      r1c2 in interface MatrixReadable3x3DType
      Specified by:
      r1c2 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 1 column 2
    • r2c0

      public double r2c0()
      Specified by:
      r2c0 in interface MatrixReadable3x3DType
      Specified by:
      r2c0 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 2 column 0
    • r2c1

      public double r2c1()
      Specified by:
      r2c1 in interface MatrixReadable3x3DType
      Specified by:
      r2c1 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 2 column 1
    • r2c2

      public double r2c2()
      Specified by:
      r2c2 in interface MatrixReadable3x3DType
      Specified by:
      r2c2 in interface PMatrix3x3DType<A,​B>
      Returns:
      The value at row 2 column 2
    • withR0c0

      public final PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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
    • withR1c0

      public final PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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
    • withR2c0

      public final PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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 PMatrix3x3D<A,​B> 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
    • equals

      public boolean equals​(java.lang.Object another)
      This instance is equal to all instances of PMatrix3x3D 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, r1c0, r1c1, r1c2, r2c0, r2c1, r2c2.
      Overrides:
      hashCode in class java.lang.Object
      Returns:
      hashCode value
    • toString

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

      public static <A,​ B> PMatrix3x3D<A,​B> of​(double r0c0, double r0c1, double r0c2, double r1c0, double r1c1, double r1c2, double r2c0, double r2c1, double r2c2)
      Construct a new immutable PMatrix3x3D instance.
      Type Parameters:
      A - generic parameter A
      B - generic parameter B
      Parameters:
      r0c0 - The value for the r0c0 attribute
      r0c1 - The value for the r0c1 attribute
      r0c2 - The value for the r0c2 attribute
      r1c0 - The value for the r1c0 attribute
      r1c1 - The value for the r1c1 attribute
      r1c2 - The value for the r1c2 attribute
      r2c0 - The value for the r2c0 attribute
      r2c1 - The value for the r2c1 attribute
      r2c2 - The value for the r2c2 attribute
      Returns:
      An immutable PMatrix3x3D instance
    • copyOf

      public static <A,​ B> PMatrix3x3D<A,​B> copyOf​(PMatrix3x3DType<A,​B> instance)
      Creates an immutable copy of a PMatrix3x3DType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Type Parameters:
      A - generic parameter A
      B - generic parameter B
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable PMatrix3x3D instance
    • builder

      public static <A,​ B> PMatrix3x3D.Builder<A,​B> builder()
      Creates a builder for PMatrix3x3D.
       PMatrix3x3D.&lt;A, B&gt;builder()
          .setR0c0(double) // required r0c0
          .setR0c1(double) // required r0c1
          .setR0c2(double) // required r0c2
          .setR1c0(double) // required r1c0
          .setR1c1(double) // required r1c1
          .setR1c2(double) // required r1c2
          .setR2c0(double) // required r2c0
          .setR2c1(double) // required r2c1
          .setR2c2(double) // required r2c2
          .build();
       
      Type Parameters:
      A - generic parameter A
      B - generic parameter B
      Returns:
      A new PMatrix3x3D builder