Class JCameraSphericalSnapshot

java.lang.Object
com.io7m.jcamera.JCameraSphericalSnapshot
All Implemented Interfaces:
JCameraReadableSnapshotType, JCameraReadableType, JCameraSphericalReadableType, JCameraSphericalSnapshotType

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

    • cameraGetRight

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

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

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

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

      public double cameraGetAngleHeading()
      Specified by:
      cameraGetAngleHeading in interface JCameraSphericalReadableType
      Specified by:
      cameraGetAngleHeading in interface JCameraSphericalSnapshotType
      Returns:
      The value of the cameraGetAngleHeading attribute
    • cameraGetAngleIncline

      public double cameraGetAngleIncline()
      Specified by:
      cameraGetAngleIncline in interface JCameraSphericalReadableType
      Specified by:
      cameraGetAngleIncline in interface JCameraSphericalSnapshotType
      Returns:
      The value of the cameraGetAngleIncline attribute
    • cameraGetZoom

      public double cameraGetZoom()
      Specified by:
      cameraGetZoom in interface JCameraSphericalReadableType
      Specified by:
      cameraGetZoom in interface JCameraSphericalSnapshotType
      Returns:
      The value of the cameraGetZoom attribute
    • cameraGetForwardProjectedOnXZ

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetForwardProjectedOnXZ()
      Specified by:
      cameraGetForwardProjectedOnXZ in interface JCameraSphericalReadableType
      Specified by:
      cameraGetForwardProjectedOnXZ in interface JCameraSphericalSnapshotType
      Returns:
      The value of the cameraGetForwardProjectedOnXZ attribute
    • cameraGetTargetPosition

      public com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetTargetPosition()
      Specified by:
      cameraGetTargetPosition in interface JCameraSphericalReadableType
      Specified by:
      cameraGetTargetPosition in interface JCameraSphericalSnapshotType
      Returns:
      The value of the cameraGetTargetPosition attribute
    • withCameraGetRight

      public final JCameraSphericalSnapshot 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 JCameraSphericalSnapshot 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 JCameraSphericalSnapshot 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 JCameraSphericalSnapshot 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
    • withCameraGetAngleHeading

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

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

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

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

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

      public boolean equals(Object another)
      This instance is equal to all instances of JCameraSphericalSnapshot 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: cameraGetRight, cameraGetUp, cameraGetForward, cameraGetPosition, cameraGetAngleHeading, cameraGetAngleIncline, cameraGetZoom, cameraGetForwardProjectedOnXZ, cameraGetTargetPosition.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

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

      public static JCameraSphericalSnapshot of(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, double cameraGetAngleHeading, double cameraGetAngleIncline, double cameraGetZoom, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetForwardProjectedOnXZ, com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetTargetPosition)
      Construct a new immutable JCameraSphericalSnapshot instance.
      Parameters:
      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
      cameraGetAngleHeading - The value for the cameraGetAngleHeading attribute
      cameraGetAngleIncline - The value for the cameraGetAngleIncline attribute
      cameraGetZoom - The value for the cameraGetZoom attribute
      cameraGetForwardProjectedOnXZ - The value for the cameraGetForwardProjectedOnXZ attribute
      cameraGetTargetPosition - The value for the cameraGetTargetPosition attribute
      Returns:
      An immutable JCameraSphericalSnapshot instance
    • copyOf

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

      public static JCameraSphericalSnapshot.Builder builder()
      Creates a builder for JCameraSphericalSnapshot.
       JCameraSphericalSnapshot.builder()
          .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
          .setCameraGetAngleHeading(double) // required cameraGetAngleHeading
          .setCameraGetAngleIncline(double) // required cameraGetAngleIncline
          .setCameraGetZoom(double) // required cameraGetZoom
          .setCameraGetForwardProjectedOnXZ(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetForwardProjectedOnXZ
          .setCameraGetTargetPosition(com.io7m.jtensors.core.unparameterized.vectors.Vector3D) // required cameraGetTargetPosition
          .build();
       
      Returns:
      A new JCameraSphericalSnapshot builder