Package com.io7m.jcamera

# Interface JCameraFPSStyleSnapshotType

All Superinterfaces:
  `JCameraFPSStyleReadableType`, `JCameraReadableSnapshotType`, `JCameraReadableType`

All Known Implementing Classes:
  `JCameraFPSStyleSnapshot`

@Immutable public interface JCameraFPSStyleSnapshotType extends JCameraFPSStyleReadableType, JCameraReadableSnapshotType
An immutable snapshot of a camera.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `double`
  `cameraGetAngleAroundHorizontal()`
  `double`
  `cameraGetAngleAroundVertical()`
  `com.io7m.jtensors.core.unparameterized.vectors.Vector3D`
  `cameraGetForward()`
  `com.io7m.jtensors.core.unparameterized.vectors.Vector3D`
  `cameraGetPosition()`
  `com.io7m.jtensors.core.unparameterized.vectors.Vector3D`
  `cameraGetRight()`
  `com.io7m.jtensors.core.unparameterized.vectors.Vector3D`
  `cameraGetUp()`
  `default com.io7m.jtensors.core.unparameterized.matrices.Matrix4x4D`
  `cameraMakeViewMatrix()`
  Construct a view matrix for the camera.
  `default <T0, T1> com.io7m.jtensors.core.parameterized.matrices.PMatrix4x4D<T0,T1>`
  `cameraMakeViewPMatrix()`
  Construct a view matrix for the camera.

- ## Method Details

  - ### cameraGetAngleAroundHorizontal

    @Parameter double cameraGetAngleAroundHorizontal()
    Specified by:
      `cameraGetAngleAroundHorizontal` in interface `JCameraFPSStyleReadableType`
    Returns:
      The angle around the horizontal axis.

  - ### cameraGetAngleAroundVertical

    @Parameter double cameraGetAngleAroundVertical()
    Specified by:
      `cameraGetAngleAroundVertical` in interface `JCameraFPSStyleReadableType`
    Returns:
      The angle around the vertical axis.

  - ### cameraGetRight

    @Parameter com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetRight()
    Specified by:
      `cameraGetRight` in interface `JCameraFPSStyleReadableType`
    Returns:
      The right direction for the camera.

  - ### cameraGetUp

    @Parameter com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetUp()
    Specified by:
      `cameraGetUp` in interface `JCameraFPSStyleReadableType`
    Returns:
      The up direction for the camera.

  - ### cameraGetForward

    @Parameter com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetForward()
    Specified by:
      `cameraGetForward` in interface `JCameraFPSStyleReadableType`
    Returns:
      The forward direction for the camera.

  - ### cameraGetPosition

    @Parameter com.io7m.jtensors.core.unparameterized.vectors.Vector3D cameraGetPosition()
    Specified by:
      `cameraGetPosition` in interface `JCameraFPSStyleReadableType`
    Returns:
      The position of the camera.

  - ### cameraMakeViewMatrix

    default com.io7m.jtensors.core.unparameterized.matrices.Matrix4x4D cameraMakeViewMatrix()
    Description copied from interface: `JCameraReadableType`
    Construct a view matrix for the camera.
    Specified by:
      `cameraMakeViewMatrix` in interface `JCameraReadableType`
    Returns:
      A view matrix for the camera

  - ### cameraMakeViewPMatrix

    default <T0, T1> com.io7m.jtensors.core.parameterized.matrices.PMatrix4x4D<T0,T1> cameraMakeViewPMatrix()
    Description copied from interface: `JCameraReadableType`
    Construct a view matrix for the camera.
    Specified by:
      `cameraMakeViewPMatrix` in interface `JCameraReadableType`
    Type Parameters:
      `T0` - The source coordinate system
      `T1` - The target coordiante system
    Returns:
      A view matrix for the camera