Package com.io7m.jcamera

# Class JCameraSphericalAngularIntegrator

java.lang.Object
com.io7m.jcamera.JCameraSphericalAngularIntegrator

All Implemented Interfaces:
  `JCameraIntegratorType`, `JCameraSphericalAngularIntegratorType`

@EqualityReference public final class JCameraSphericalAngularIntegrator extends Object implements JCameraSphericalAngularIntegratorType
The default implementation of `JCameraSphericalAngularIntegratorType` .

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `integrate(double time)`
  Integrate the positions/velocities of the current camera over `d`.
  `void`
  `integratorAngularOrbitHeadingSetAcceleration(double a)`
  Set the acceleration for heading orbiting to `a`.
  `void`
  `integratorAngularOrbitHeadingSetDrag(double d)`
  Set the drag for heading orbiting to `a`.
  `void`
  `integratorAngularOrbitHeadingSetMaximumSpeed(double s)`
  Set the maximum rotation speed for heading orbiting to `s` .
  `void`
  `integratorAngularOrbitInclineSetAcceleration(double a)`
  Set the acceleration for incline orbiting to `a`.
  `void`
  `integratorAngularOrbitInclineSetDrag(double d)`
  Set the drag for incline orbiting to `a`.
  `void`
  `integratorAngularOrbitInclineSetMaximumSpeed(double s)`
  Set the maximum rotation speed for incline orbiting to `s`.
  `JCameraSphericalReadableType`
  `integratorGetCamera()`
  `JCameraSphericalInputType`
  `integratorGetInput()`
  `static JCameraSphericalAngularIntegratorType`
  `newIntegrator(JCameraSphericalType in_camera, JCameraSphericalInputType 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 JCameraSphericalAngularIntegratorType newIntegrator(JCameraSphericalType in_camera, JCameraSphericalInputType 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

  - ### integratorAngularOrbitHeadingSetAcceleration

    public void integratorAngularOrbitHeadingSetAcceleration(double a)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the acceleration for heading orbiting to `a`.
    Specified by:
      `integratorAngularOrbitHeadingSetAcceleration` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `a` - The acceleration value.

  - ### integratorAngularOrbitHeadingSetDrag

    public void integratorAngularOrbitHeadingSetDrag(double d)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the drag for heading orbiting to `a`.
    Specified by:
      `integratorAngularOrbitHeadingSetDrag` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `d` - The drag value.

  - ### integratorAngularOrbitHeadingSetMaximumSpeed

    public void integratorAngularOrbitHeadingSetMaximumSpeed(double s)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the maximum rotation speed for heading orbiting to `s` .
    Specified by:
      `integratorAngularOrbitHeadingSetMaximumSpeed` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `s` - The maximum rotation speed.

  - ### integratorAngularOrbitInclineSetAcceleration

    public void integratorAngularOrbitInclineSetAcceleration(double a)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the acceleration for incline orbiting to `a`.
    Specified by:
      `integratorAngularOrbitInclineSetAcceleration` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `a` - The acceleration value.

  - ### integratorAngularOrbitInclineSetDrag

    public void integratorAngularOrbitInclineSetDrag(double d)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the drag for incline orbiting to `a`.
    Specified by:
      `integratorAngularOrbitInclineSetDrag` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `d` - The drag value.

  - ### integratorAngularOrbitInclineSetMaximumSpeed

    public void integratorAngularOrbitInclineSetMaximumSpeed(double s)
    Description copied from interface: `JCameraSphericalAngularIntegratorType`
    Set the maximum rotation speed for incline orbiting to `s`.
    Specified by:
      `integratorAngularOrbitInclineSetMaximumSpeed` in interface `JCameraSphericalAngularIntegratorType`
    Parameters:
      `s` - The maximum rotation speed.

  - ### integratorGetCamera

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

  - ### integratorGetInput

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