Class JCameraFPSStyleSnapshot

java.lang.Object
com.io7m.jcamera.JCameraFPSStyleSnapshot
All Implemented Interfaces:
JCameraFPSStyleReadableType, JCameraFPSStyleSnapshotType, JCameraReadableSnapshotType, JCameraReadableType

public final class JCameraFPSStyleSnapshot extends Object implements JCameraFPSStyleSnapshotType
An immutable snapshot of a camera.
  • Method Details

    • cameraGetAngleAroundHorizontal

      public double cameraGetAngleAroundHorizontal()
      Specified by:
      cameraGetAngleAroundHorizontal in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetAngleAroundHorizontal in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetAngleAroundHorizontal attribute
    • cameraGetAngleAroundVertical

      public double cameraGetAngleAroundVertical()
      Specified by:
      cameraGetAngleAroundVertical in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetAngleAroundVertical in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetAngleAroundVertical attribute
    • cameraGetRight

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetRight()
      Specified by:
      cameraGetRight in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetRight in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetRight attribute
    • cameraGetUp

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetUp()
      Specified by:
      cameraGetUp in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetUp in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetUp attribute
    • cameraGetForward

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetForward()
      Specified by:
      cameraGetForward in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetForward in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetForward attribute
    • cameraGetPosition

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetPosition()
      Specified by:
      cameraGetPosition in interface JCameraFPSStyleReadableType
      Specified by:
      cameraGetPosition in interface JCameraFPSStyleSnapshotType
      Returns:
      The value of the cameraGetPosition attribute
    • withCameraGetAngleAroundHorizontal

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

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

      public final JCameraFPSStyleSnapshot withCameraGetRight(com.io7m.jtensors.core.unparameterized.vectors.Vector3D value)
      Copy the current immutable object by setting a value for the cameraGetRight attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for cameraGetRight
      Returns:
      A modified copy of the this object
    • withCameraGetUp

      public final JCameraFPSStyleSnapshot withCameraGetUp(com.io7m.jtensors.core.unparameterized.vectors.Vector3D value)
      Copy the current immutable object by setting a value for the cameraGetUp attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for cameraGetUp
      Returns:
      A modified copy of the this object
    • withCameraGetForward

      public final JCameraFPSStyleSnapshot withCameraGetForward(com.io7m.jtensors.core.unparameterized.vectors.Vector3D value)
      Copy the current immutable object by setting a value for the cameraGetForward attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for cameraGetForward
      Returns:
      A modified copy of the this object
    • withCameraGetPosition

      public final JCameraFPSStyleSnapshot withCameraGetPosition(com.io7m.jtensors.core.unparameterized.vectors.Vector3D value)
      Copy the current immutable object by setting a value for the cameraGetPosition attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for cameraGetPosition
      Returns:
      A modified copy of the this object
    • equals

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

      public int hashCode()
      Computes a hash code from attributes: cameraGetAngleAroundHorizontal, cameraGetAngleAroundVertical, cameraGetRight, cameraGetUp, cameraGetForward, cameraGetPosition.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

      public static JCameraFPSStyleSnapshot of(double cameraGetAngleAroundHorizontal, double cameraGetAngleAroundVertical, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetRight, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetUp, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetForward, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetPosition)
      Construct a new immutable JCameraFPSStyleSnapshot instance.
      Parameters:
      cameraGetAngleAroundHorizontal - The value for the cameraGetAngleAroundHorizontal attribute
      cameraGetAngleAroundVertical - The value for the cameraGetAngleAroundVertical attribute
      cameraGetRight - The value for the cameraGetRight attribute
      cameraGetUp - The value for the cameraGetUp attribute
      cameraGetForward - The value for the cameraGetForward attribute
      cameraGetPosition - The value for the cameraGetPosition attribute
      Returns:
      An immutable JCameraFPSStyleSnapshot instance
    • copyOf

      public static JCameraFPSStyleSnapshot copyOf(JCameraFPSStyleSnapshotType instance)
      Creates an immutable copy of a JCameraFPSStyleSnapshotType 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 JCameraFPSStyleSnapshot instance
    • builder

      public static JCameraFPSStyleSnapshot.Builder builder()
      Creates a builder for JCameraFPSStyleSnapshot.
       JCameraFPSStyleSnapshot.builder()
          .setCameraGetAngleAroundHorizontal(double) // required cameraGetAngleAroundHorizontal
          .setCameraGetAngleAroundVertical(double) // required cameraGetAngleAroundVertical
          .setCameraGetRight(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetRight
          .setCameraGetUp(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetUp
          .setCameraGetForward(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetForward
          .setCameraGetPosition(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetPosition
          .build();
       
      Returns:
      A new JCameraFPSStyleSnapshot builder