## Uses of Interface
com.io7m.jtensors.QuaternionWritable4FType

- Packages that use QuaternionWritable4FType
  Package | Description
  --- | ---
  com.io7m.jtensors | Core vector and matrix types.
  com.io7m.jtensors.bytebuffered | `ByteBuffer` backed tensors.

- - ### Uses of QuaternionWritable4FType in com.io7m.jtensors

    Subinterfaces of QuaternionWritable4FType in com.io7m.jtensors
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Quaternion4FType` The type of mutable quaternions with `float` elements.

    Classes in com.io7m.jtensors that implement QuaternionWritable4FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionM4F` A four-dimensional mutable quaternion type with `float` elements.

    Methods in com.io7m.jtensors with type parameters of type QuaternionWritable4FType
    Modifier and Type | Method and Description
    --- | ---
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`add(QuaternionReadable4FType q0, QuaternionReadable4FType q1, Q out)` Calculate the element-wise sum of the quaternions `q0` and `q1`, saving the result to `qr`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`addInPlace(Q q0, QuaternionReadable4FType q1)` Calculate the element-wise sum of the quaternions `q0` and `q1`, saving the result to `q0`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`conjugate(QuaternionReadable4FType q, Q out)` Calculate the conjugate of the input quaternion `q`, saving the result to `out`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`conjugateInPlace(Q q)` Calculate the conjugate of the input quaternion `q`, modifying `q` in place.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`copy(QuaternionReadable4FType q, Q out)` Copy the contents of the quaternion `q` to `out`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`interpolateLinear(QuaternionM4F.ContextQM4F c, QuaternionReadable4FType q0, QuaternionReadable4FType q1, double alpha, Q r)` Linearly interpolate between `q0` and `q1` by the amount `alpha`, such that: `interpolateLinear(q0, q1, 0.0, r) -> r = q0` `interpolateLinear(q0, q1, 1.0, r) -> r = q1`
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`lookAt(QuaternionM4F.ContextQM4F context, VectorReadable3FType origin, VectorReadable3FType target, VectorReadable3FType up, Q q)` Produce a quaternion that represents a rotation that "looks at" the point at `target` assuming the viewer is at `origin`, using `up` as the "up" vector, saving the result to `q`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`makeFromAxisAngle(VectorReadable3FType axis, double angle, Q out)` Produce a quaternion that represents a rotation of `angle` degrees around the axis specified by `axis`, saving the result to `out`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`makeFromRotationMatrix3x3(MatrixReadable3x3FType m, Q out)` Produce a quaternion equivalent to the rotation matrix `m`, writing the result to `out`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`makeFromRotationMatrix4x4(MatrixReadable4x4FType m, Q out)` Produce a quaternion equivalent to the rotation matrix `m`, writing the result to `out`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`multiply(QuaternionReadable4FType q0, QuaternionReadable4FType q1, Q qr)` Multiply the quaternion `q0` by the quaternion `q1` , saving the result to `qr`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`multiplyInPlace(Q q0, QuaternionReadable4FType q1)` Multiply the quaternion `q0` by the quaternion `q1` , saving the result to `q0`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`negate(QuaternionReadable4FType qa, Q out)` Negate the elements of `qa`, writing the resulting quaternion to `out`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`negateInPlace(Q q)` Negate the elements of `q`, modifying the quaternion in-place.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`normalize(QuaternionReadable4FType q, Q out)` Returns a quaternion with the same orientation as `q` but with magnitude equal to `1.0` in `out`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`normalizeInPlace(Q q)` Returns a quaternion with the same orientation as `q` but with magnitude equal to `1.0` in `q`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`scale(QuaternionReadable4FType q, double r, Q out)` Scale the quaternion `q` by the scalar `r`, saving the result to `out`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`scaleInPlace(Q q, double r)` Scale the quaternion `q` by the scalar `r`, saving the result to `q`.
    `static <Q extends QuaternionWritable4FType> Q` | QuaternionM4F.`subtract(QuaternionReadable4FType q0, QuaternionReadable4FType q1, Q out)` Subtract the quaternion `q0` from the quaternion `q1`, saving the result to `out`.
    `static <Q extends QuaternionWritable4FType & QuaternionReadable4FType> Q` | QuaternionM4F.`subtractInPlace(Q q0, QuaternionReadable4FType q1)` Subtract the quaternion `q0` from the quaternion `q1`, saving the result to `q0`.

  - ### Uses of QuaternionWritable4FType in com.io7m.jtensors.bytebuffered

    Subinterfaces of QuaternionWritable4FType in com.io7m.jtensors.bytebuffered
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `QuaternionByteBuffered4FType` The type of `Quaternion4FType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered that implement QuaternionWritable4FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionByteBufferedM4F` A quaternion type with `float` elements, packed into a `ByteBuffer`.

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