Package com.io7m.jcamera

# Class JCameraFPSStyleInput

java.lang.Object
com.io7m.jcamera.JCameraFPSStyleInput

All Implemented Interfaces:
  `JCameraFPSStyleInputType`

@EqualityReference public final class JCameraFPSStyleInput extends Object implements JCameraFPSStyleInputType

An input for an fps-style camera.

It is safe to access values of this type from multiple threads.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addRotationAroundHorizontal(double r)`
  Add a rotation around the horizontal axis.
  `void`
  `addRotationAroundVertical(double r)`
  Add a rotation around the vertical axis.
  `double`
  `getRotationHorizontal()`
  `double`
  `getRotationVertical()`
  `boolean`
  `isMovingBackward()`
  `boolean`
  `isMovingDown()`
  `boolean`
  `isMovingForward()`
  `boolean`
  `isMovingLeft()`
  `boolean`
  `isMovingRight()`
  `boolean`
  `isMovingUp()`
  `static JCameraFPSStyleInputType`
  `newInput()`
  `void`
  `setMovingBackward(boolean in_backward)`
  Tell the camera to start/stop moving backward.
  `void`
  `setMovingDown(boolean in_down)`
  Tell the camera to start/stop moving down.
  `void`
  `setMovingForward(boolean in_forward)`
  Tell the camera to start/stop moving forward.
  `void`
  `setMovingLeft(boolean in_left)`
  Tell the camera to start/stop moving left.
  `void`
  `setMovingRight(boolean in_right)`
  Tell the camera to start/stop moving right.
  `void`
  `setMovingUp(boolean in_up)`
  Tell the camera to start/stop moving up.
  `void`
  `setRotationHorizontal(double r)`
  Set the horizontal rotation.
  `void`
  `setRotationHorizontalFactor(double f)`
  Set the horizontal rotation factor.
  `void`
  `setRotationVertical(double r)`
  Set the vertical rotation.
  `void`
  `setRotationVerticalFactor(double f)`
  Set the vertical rotation factor.
  `double`
  `takeRotationHorizontal()`
  Return `JCameraFPSStyleInputType.getRotationHorizontal()`, setting the rotation to 0.0.
  `double`
  `takeRotationVertical()`
  Return `JCameraFPSStyleInputType.getRotationVertical()`, setting the rotation to 0.0.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### newInput

    public static JCameraFPSStyleInputType newInput()
    Returns:
      A new input

  - ### addRotationAroundHorizontal

    public void addRotationAroundHorizontal(double r)
    Description copied from interface: `JCameraFPSStyleInputType`
    Add a rotation around the horizontal axis.
    Specified by:
      `addRotationAroundHorizontal` in interface `JCameraFPSStyleInputType`
    Parameters:
      `r` - The rotation amount

  - ### addRotationAroundVertical

    public void addRotationAroundVertical(double r)
    Description copied from interface: `JCameraFPSStyleInputType`
    Add a rotation around the vertical axis.
    Specified by:
      `addRotationAroundVertical` in interface `JCameraFPSStyleInputType`
    Parameters:
      `r` - The rotation amount

  - ### getRotationHorizontal

    public double getRotationHorizontal()
    Specified by:
      `getRotationHorizontal` in interface `JCameraFPSStyleInputType`
    Returns:
      The current horizontal rotation coefficient.

  - ### setRotationHorizontal

    public void setRotationHorizontal(double r)
    Description copied from interface: `JCameraFPSStyleInputType`
    Set the horizontal rotation.
    Specified by:
      `setRotationHorizontal` in interface `JCameraFPSStyleInputType`
    Parameters:
      `r` - The rotation

  - ### getRotationVertical

    public double getRotationVertical()
    Specified by:
      `getRotationVertical` in interface `JCameraFPSStyleInputType`
    Returns:
      The current vertical rotation coefficient.

  - ### setRotationVertical

    public void setRotationVertical(double r)
    Description copied from interface: `JCameraFPSStyleInputType`
    Set the vertical rotation.
    Specified by:
      `setRotationVertical` in interface `JCameraFPSStyleInputType`
    Parameters:
      `r` - The rotation

  - ### isMovingBackward

    public boolean isMovingBackward()
    Specified by:
      `isMovingBackward` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move backward

  - ### setMovingBackward

    public void setMovingBackward(boolean in_backward)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving backward.
    Specified by:
      `setMovingBackward` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_backward` - `true` if the camera should be moving

  - ### isMovingDown

    public boolean isMovingDown()
    Specified by:
      `isMovingDown` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move down

  - ### setMovingDown

    public void setMovingDown(boolean in_down)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving down.
    Specified by:
      `setMovingDown` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_down` - `true` if the camera should be moving

  - ### isMovingForward

    public boolean isMovingForward()
    Specified by:
      `isMovingForward` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move forward

  - ### setMovingForward

    public void setMovingForward(boolean in_forward)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving forward.
    Specified by:
      `setMovingForward` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_forward` - `true` if the camera should be moving

  - ### isMovingLeft

    public boolean isMovingLeft()
    Specified by:
      `isMovingLeft` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move left

  - ### setMovingLeft

    public void setMovingLeft(boolean in_left)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving left.
    Specified by:
      `setMovingLeft` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_left` - `true` if the camera should be moving

  - ### isMovingRight

    public boolean isMovingRight()
    Specified by:
      `isMovingRight` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move right

  - ### setMovingRight

    public void setMovingRight(boolean in_right)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving right.
    Specified by:
      `setMovingRight` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_right` - `true` if the camera should be moving

  - ### isMovingUp

    public boolean isMovingUp()
    Specified by:
      `isMovingUp` in interface `JCameraFPSStyleInputType`
    Returns:
      `true` if the user is telling the camera to move up

  - ### setMovingUp

    public void setMovingUp(boolean in_up)
    Description copied from interface: `JCameraFPSStyleInputType`
    Tell the camera to start/stop moving up.
    Specified by:
      `setMovingUp` in interface `JCameraFPSStyleInputType`
    Parameters:
      `in_up` - `true` if the camera should be moving

  - ### setRotationHorizontalFactor

    public void setRotationHorizontalFactor(double f)
    Description copied from interface: `JCameraFPSStyleInputType`
    Set the horizontal rotation factor.
    Specified by:
      `setRotationHorizontalFactor` in interface `JCameraFPSStyleInputType`
    Parameters:
      `f` - The rotation factor

  - ### setRotationVerticalFactor

    public void setRotationVerticalFactor(double f)
    Description copied from interface: `JCameraFPSStyleInputType`
    Set the vertical rotation factor.
    Specified by:
      `setRotationVerticalFactor` in interface `JCameraFPSStyleInputType`
    Parameters:
      `f` - The rotation factor

  - ### takeRotationHorizontal

    public double takeRotationHorizontal()
    Description copied from interface: `JCameraFPSStyleInputType`
    Return `JCameraFPSStyleInputType.getRotationHorizontal()`, setting the rotation to 0.0.
    Specified by:
      `takeRotationHorizontal` in interface `JCameraFPSStyleInputType`
    Returns:
      The current horizontal rotation coefficient.

  - ### takeRotationVertical

    public double takeRotationVertical()
    Description copied from interface: `JCameraFPSStyleInputType`
    Return `JCameraFPSStyleInputType.getRotationVertical()`, setting the rotation to 0.0.
    Specified by:
      `takeRotationVertical` in interface `JCameraFPSStyleInputType`
    Returns:
      The current vertical rotation coefficient.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`