Package com.io7m.jcamera

# Class JCameraFPSStyleAngularIntegrator

java.lang.Object
com.io7m.jcamera.JCameraFPSStyleAngularIntegrator

All Implemented Interfaces:
  `JCameraFPSStyleAngularIntegratorType`, `JCameraIntegratorType`

@EqualityReference public final class JCameraFPSStyleAngularIntegrator extends Object implements JCameraFPSStyleAngularIntegratorType
The default implementation of `JCameraFPSStyleAngularIntegratorType`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `integrate(double time)`
  Integrate the positions/velocities of the current camera over `d`.
  `void`
  `integratorAngularSetAccelerationHorizontal(double a)`
  Set the acceleration around the horizontal axis to `a`.
  `void`
  `integratorAngularSetAccelerationVertical(double a)`
  Set the acceleration around the vertical axis to `a`.
  `void`
  `integratorAngularSetDragHorizontal(double d)`
  Set the drag around the horizontal axis to `a`.
  `void`
  `integratorAngularSetDragVertical(double d)`
  Set the drag around the vertical axis to `a`.
  `void`
  `integratorAngularSetMaximumSpeedHorizontal(double s)`
  Set the maximum rotation speed around the horizontal axis to `s`.
  `void`
  `integratorAngularSetMaximumSpeedVertical(double s)`
  Set the maximum rotation speed around the vertical axis to `s` .
  `JCameraFPSStyleReadableType`
  `integratorGetCamera()`
  `JCameraFPSStyleInputType`
  `integratorGetInput()`
  `static JCameraFPSStyleAngularIntegratorType`
  `newIntegrator(JCameraFPSStyleType in_camera, JCameraFPSStyleInputType in_input)`
  Construct a new integrator.

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

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

- ## Method Details

  - ### newIntegrator

    public static JCameraFPSStyleAngularIntegratorType newIntegrator(JCameraFPSStyleType in_camera, JCameraFPSStyleInputType in_input)
    Construct a new integrator.
    Parameters:
      `in_camera` - The camera to be integrated.
      `in_input` - The input to be sampled.
    Returns:
      A new integrator

  - ### integrate

    public void integrate(double time)
    Description copied from interface: `JCameraIntegratorType`
    Integrate the positions/velocities of the current camera over `d`.
    Specified by:
      `integrate` in interface `JCameraIntegratorType`
    Parameters:
      `time` - The delta time

  - ### integratorAngularSetAccelerationHorizontal

    public void integratorAngularSetAccelerationHorizontal(double a)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the acceleration around the horizontal axis to `a`.
    Specified by:
      `integratorAngularSetAccelerationHorizontal` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `a` - The acceleration value.

  - ### integratorAngularSetAccelerationVertical

    public void integratorAngularSetAccelerationVertical(double a)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the acceleration around the vertical axis to `a`.
    Specified by:
      `integratorAngularSetAccelerationVertical` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `a` - The acceleration value.

  - ### integratorAngularSetDragHorizontal

    public void integratorAngularSetDragHorizontal(double d)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the drag around the horizontal axis to `a`.
    Specified by:
      `integratorAngularSetDragHorizontal` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `d` - The drag value.

  - ### integratorAngularSetDragVertical

    public void integratorAngularSetDragVertical(double d)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the drag around the vertical axis to `a`.
    Specified by:
      `integratorAngularSetDragVertical` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `d` - The drag value.

  - ### integratorAngularSetMaximumSpeedHorizontal

    public void integratorAngularSetMaximumSpeedHorizontal(double s)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the maximum rotation speed around the horizontal axis to `s`.
    Specified by:
      `integratorAngularSetMaximumSpeedHorizontal` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `s` - The maximum rotation speed.

  - ### integratorAngularSetMaximumSpeedVertical

    public void integratorAngularSetMaximumSpeedVertical(double s)
    Description copied from interface: `JCameraFPSStyleAngularIntegratorType`
    Set the maximum rotation speed around the vertical axis to `s` .
    Specified by:
      `integratorAngularSetMaximumSpeedVertical` in interface `JCameraFPSStyleAngularIntegratorType`
    Parameters:
      `s` - The maximum rotation speed.

  - ### integratorGetCamera

    public JCameraFPSStyleReadableType integratorGetCamera()
    Specified by:
      `integratorGetCamera` in interface `JCameraFPSStyleAngularIntegratorType`
    Returns:
      The camera that will be affected by the integrator

  - ### integratorGetInput

    public JCameraFPSStyleInputType integratorGetInput()
    Specified by:
      `integratorGetInput` in interface `JCameraFPSStyleAngularIntegratorType`
    Returns:
      The input used to drive the integrator.