Package com.io7m.jcamera

# Class JCameraFPSStyleLinearIntegrator

java.lang.Object
com.io7m.jcamera.JCameraFPSStyleLinearIntegrator

All Implemented Interfaces:
  `JCameraFPSStyleLinearIntegratorType`, `JCameraIntegratorType`

@EqualityReference public final class JCameraFPSStyleLinearIntegrator extends Object implements JCameraFPSStyleLinearIntegratorType
The default implementation of `JCameraFPSStyleLinearIntegratorType`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `integrate(double t)`
  Integrate the positions/velocities of the current camera over `d`.
  `JCameraFPSStyleReadableType`
  `integratorGetCamera()`
  `JCameraFPSStyleInputType`
  `integratorGetInput()`
  `void`
  `integratorLinearSetAcceleration(double a)`
  Set the linear acceleration to `a`.
  `void`
  `integratorLinearSetDrag(double f)`
  Set the linear drag factor to `f`.
  `void`
  `integratorLinearSetMaximumSpeed(double s)`
  Set the maximum linear movement speed to `s`.
  `static JCameraFPSStyleLinearIntegratorType`
  `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 JCameraFPSStyleLinearIntegratorType 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 t)
    Description copied from interface: `JCameraIntegratorType`
    Integrate the positions/velocities of the current camera over `d`.
    Specified by:
      `integrate` in interface `JCameraIntegratorType`
    Parameters:
      `t` - The delta time

  - ### integratorGetCamera

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

  - ### integratorGetInput

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

  - ### integratorLinearSetAcceleration

    public void integratorLinearSetAcceleration(double a)
    Description copied from interface: `JCameraFPSStyleLinearIntegratorType`
    Set the linear acceleration to `a`.
    Specified by:
      `integratorLinearSetAcceleration` in interface `JCameraFPSStyleLinearIntegratorType`
    Parameters:
      `a` - The linear acceleration.

  - ### integratorLinearSetDrag

    public void integratorLinearSetDrag(double f)
    Description copied from interface: `JCameraFPSStyleLinearIntegratorType`
    Set the linear drag factor to `f`.
    Specified by:
      `integratorLinearSetDrag` in interface `JCameraFPSStyleLinearIntegratorType`
    Parameters:
      `f` - The linear drag factor.

  - ### integratorLinearSetMaximumSpeed

    public void integratorLinearSetMaximumSpeed(double s)
    Description copied from interface: `JCameraFPSStyleLinearIntegratorType`
    Set the maximum linear movement speed to `s`.
    Specified by:
      `integratorLinearSetMaximumSpeed` in interface `JCameraFPSStyleLinearIntegratorType`
    Parameters:
      `s` - The maximum linear speed.