Storing and manipulating rotations in the form of quaternions. Constructed out of the 4 components: (x, y, z, w). Mathematical notation: w + xi + yj + zk. A Quaternion can be described with an axis and angle: (x, y, z) = sin(angle/2)*axis; w = cos(angle/2). roll: x, pitch: y, yaw: z. Note that operations are adapted to work with vectors where y is up and z is forward.

Authors

Matthias Roming, HFU, 2023 | Marko Fehrenbach, HFU, 2020 | Jonas Plotzky, HFU, 2023

Hierarchy (view full)

Implements

Constructors

Properties

w: number
x: number
y: number
z: number

Accessors

  • get eulerAngles(): Vector3
    • get: return the euler angle representation of the rotation in degrees. Caution! Use immediately and readonly, since the vector is going to be reused internally. Create a clone to keep longer and manipulate.
    • set: set the euler angle representation of the rotation in degrees.

    Returns Vector3

  • set eulerAngles(_eulerAngles): void
  • Parameters

    Returns void

  • get type(): string
  • Retrieves the type of this mutable subclass as the name of the runtime class

    Returns string

    The type of the mutable

Methods

  • Collect applicable attributes of the instance and copies of their values in a Mutator-object. By default, a mutator cannot be extended, since extensions are not available in the object the mutator belongs to. A mutator may be reduced by the descendants of Mutable to contain only the properties needed.

    Returns Mutator

  • Updates the attribute values of the instance according to the state of the mutator. The mutation may be restricted to a subset of the mutator and the event dispatching suppressed. Uses mutateBase, but can be overwritten in subclasses

    Parameters

    Returns Promise<void>

  • Rotates this quaternion around the given axis by the given angle. The rotation is appended to already applied rotations, thus multiplied from the right. Set _fromLeft to true to switch and put it in front.

    Parameters

    • _axis: Vector3
    • _angle: number
    • _fromLeft: boolean = false

    Returns Quaternion