quat

  Source   Edit

Types

DQuat = GQuat[float64]
  Source   Edit
GQuat[T] = GVec4[T]
  Source   Edit
Quat = GQuat[float32]
  Source   Edit
RotationOrder = enum
  Quaternion, EulerXYZ, EulerXZY, EulerYXZ, EulerYZX, EulerZXY, EulerZYX,
  AxisAngle
  Source   Edit

Procs

func `*`[T](q: GQuat[T]; a: GVec3[T]): GVec3[T]
  Source   Edit
proc `@`[T](a, b: GQuat[T]): GQuat[T]
  Source   Edit
func inverse[T](a: GQuat[T]): GQuat[T]
  Source   Edit
proc rotateX[T](q: GQuat[T]; rad: T): GQuat[T]
  Source   Edit
proc rotateY[T](q: GQuat[T]; rad: T): GQuat[T]
  Source   Edit
proc rotateZ[T](q: GQuat[T]; rad: T): GQuat[T]
  Source   Edit
proc rotationTo(a, b: Vec3): Quat {....raises: [], tags: [].}
  Source   Edit
func swap_quat_handness[T](q: GQuat[T]): GQuat[T]
  Source   Edit
proc to_euler_XYZ[T](q: GQuat[T]): GVec3[T]
  Source   Edit
proc to_euler_XZY[T](q: GQuat[T]): GVec3[T]
  Source   Edit
proc to_euler_YXZ[T](q: GQuat[T]): GVec3[T]
  Source   Edit
proc to_euler_YZX[T](q: GQuat[T]): GVec3[T]
  Source   Edit
proc to_euler_ZXY[T](q: GQuat[T]): GVec3[T]
  Source   Edit
proc to_euler_ZYX[T](q: GQuat[T]): GVec3[T]
  Source   Edit
func to_mat3[T](q: GQuat[T]): GMat3[T]
  Source   Edit
proc to_quat[T](euler: GVec3[T]; order: RotationOrder): GQuat[T]
  Source   Edit
func to_quat[T](m: GMat3[T]): GQuat[T]
  Source   Edit

Templates

template gquat[T](x, y, z, w: T): GQuat[T]
  Source   Edit
template to_tuple[T](v: GQuat[T]): (T, T, T, T)
  Source   Edit