com.io7m.jcamera

## Class JCameraSphericalLinearIntegratorZoomScaled

- java.lang.Object
- - com.io7m.jcamera.JCameraSphericalLinearIntegratorZoomScaled

- All Implemented Interfaces:
    JCameraIntegratorType, JCameraSphericalLinearIntegratorType

      @EqualityReference
      public final class JCameraSphericalLinearIntegratorZoomScaled
      extends Object
      implements JCameraSphericalLinearIntegratorType

  An implementation of `JCameraSphericalLinearIntegratorType` that scales movement on the horizontal plane by the current zoom.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `integrate(double t)` Integrate the positions/velocities of the current camera over `d`.
    `JCameraSphericalType` | `integratorGetCamera()`
    `JCameraSphericalInputType` | `integratorGetInput()`
    `void` | `integratorLinearTargetSetAcceleration(double a)` Set the linear acceleration (of the camera target) to `a`.
    `void` | `integratorLinearTargetSetDrag(double f)` Set the linear drag factor (of the camera target) to `f`.
    `void` | `integratorLinearTargetSetMaximumSpeed(double s)` Set the maximum linear movement speed (of the camera target) to `s`.
    `void` | `integratorLinearZoomSetAcceleration(double a)` Set the linear acceleration (of the camera zoom) to `a`.
    `void` | `integratorLinearZoomSetDrag(double f)` Set the linear drag factor (of the camera zoom) to `f`.
    `void` | `integratorLinearZoomSetMaximumSpeed(double s)` Set the maximum linear movement speed (of the camera zoom) to `s`.
    `static JCameraSphericalLinearIntegratorType` | `newIntegrator(JCameraSphericalType in_camera, JCameraSphericalInputType in_input)` Construct a new integrator.
    `static JCameraSphericalLinearIntegratorType` | `newIntegratorWithFunctions(JCameraSphericalType in_camera, JCameraSphericalInput in_input, JCameraScalingFunctionType in_drag_scale, JCameraScalingFunctionType in_linear_scale)` Construct a new integrator.

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

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

- - ### Method Detail

    - #### newIntegrator

          public static JCameraSphericalLinearIntegratorType 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

    - #### newIntegratorWithFunctions

          public static JCameraSphericalLinearIntegratorType newIntegratorWithFunctions(JCameraSphericalType in_camera,
                                                                                        JCameraSphericalInput in_input,
                                                                                        JCameraScalingFunctionType in_drag_scale,
                                                                                        JCameraScalingFunctionType in_linear_scale)

      Construct a new integrator.
      Parameters:
        `in_camera` - The camera to be integrated.
        `in_input` - The input to be sampled.
        `in_drag_scale` - The function used to produce a scaling factor for mouse dragging.
        `in_linear_scale` - The function used to produce a scaling factor for linear movement.
      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 JCameraSphericalType integratorGetCamera()

      Specified by:
        `integratorGetCamera` in interface `JCameraSphericalLinearIntegratorType`
      Returns:
        The camera that will be affected by the integrator

    - #### integratorGetInput

          public JCameraSphericalInputType integratorGetInput()

      Specified by:
        `integratorGetInput` in interface `JCameraSphericalLinearIntegratorType`
      Returns:
        The input used to drive the integrator.

    - #### integratorLinearTargetSetAcceleration

          public void integratorLinearTargetSetAcceleration(double a)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the linear acceleration (of the camera target) to `a`.
      Specified by:
        `integratorLinearTargetSetAcceleration` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `a` - The linear acceleration.

    - #### integratorLinearTargetSetDrag

          public void integratorLinearTargetSetDrag(double f)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the linear drag factor (of the camera target) to `f`.
      Specified by:
        `integratorLinearTargetSetDrag` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `f` - The linear drag factor.

    - #### integratorLinearTargetSetMaximumSpeed

          public void integratorLinearTargetSetMaximumSpeed(double s)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the maximum linear movement speed (of the camera target) to `s`.
      Specified by:
        `integratorLinearTargetSetMaximumSpeed` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `s` - The maximum linear speed.

    - #### integratorLinearZoomSetAcceleration

          public void integratorLinearZoomSetAcceleration(double a)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the linear acceleration (of the camera zoom) to `a`.
      Specified by:
        `integratorLinearZoomSetAcceleration` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `a` - The linear acceleration.

    - #### integratorLinearZoomSetDrag

          public void integratorLinearZoomSetDrag(double f)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the linear drag factor (of the camera zoom) to `f`.
      Specified by:
        `integratorLinearZoomSetDrag` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `f` - The linear drag factor.

    - #### integratorLinearZoomSetMaximumSpeed

          public void integratorLinearZoomSetMaximumSpeed(double s)

      Description copied from interface: `JCameraSphericalLinearIntegratorType`
      Set the maximum linear movement speed (of the camera zoom) to `s`.
      Specified by:
        `integratorLinearZoomSetMaximumSpeed` in interface `JCameraSphericalLinearIntegratorType`
      Parameters:
        `s` - The maximum linear speed.

Copyright © 2017 <code@io7m.com> http://io7m.com