Math/Quat.openplx
Quat
Quat: x is Real: 0 y is Real: 0 z is Real: 0 w is Real: 1 # Applies this quaternion as a rotation to a vector, returns the # rotated vector. fn rotate(v: Vec3) -> Vec3 fn conj() -> Quat fn inverse() -> Quat # Creates a quaternion that represents a rotation of angle radians # around the specified axis. static fn angle_axis(angle: Real, axis: Math.Vec3) -> Quat # Creates a quaternion that represents a rotation that would rotate # the from vector to the to vector. static fn from_to(from: Vec3, to: Vec3) -> Quat # Normalizes a quaternion static fn normal(q : Quat) -> Quat # Creates a new quaternion with the specified values static fn from_xyzw(x : Real, y : Real, z : Real, w : Real) -> Quat # Factory methods for euler angles of different conventions static fn from_euler_angles_xyzs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xyxs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xzys(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xzxs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yzxs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yzys(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yxzs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yxys(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zxys(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zxzs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zyxs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zyzs(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zyxr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xyxr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yzxr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xzxr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xzyr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yzyr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zxyr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yxyr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_yxzr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zxzr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_xyzr(alpha: Real, beta: Real, gamma: Real) -> Quat static fn from_euler_angles_zyzr(alpha: Real, beta: Real, gamma: Real) -> Quat # Alias for from_euler_angles_xyzs static fn from_euler_angles(alpha: Real, beta: Real, gamma: Real) -> Quat # Operator overloads operator *(lhs: Quat, rhs: Real) -> Quat operator *(lhs: Real, rhs: Quat) -> Quat operator *(lhs: Quat, rhs: Quat) -> Quat operator /(lhs: Quat, rhs: Real) -> Quat operator /(lhs: Quat, rhs: Quat) -> Quat operator +(lhs: Quat, rhs: Quat) -> Quat operator -(lhs: Quat, rhs: Quat) -> Quat operator -(operand: Quat) -> Quat