Module basis

Types

Basis* {.
byref
.} = object elements*: array[3, Vector3]
  Source Edit

Procs

proc setCells*(basis: var Basis; xx, xy, xz, yx, yy, yz, zx, zy, zz: float32)
  Source Edit
proc `[]`*(self: Basis; row: range[0 .. 2]): Vector3 {.
inline
.}
  Source Edit
proc `[]`*(self: var Basis; row: range[0 .. 2]): var Vector3 {.
inline
.}
  Source Edit
proc `[]=`*(self: var Basis; row: range[0 .. 2]; value: Vector3) {.
inline
.}
  Source Edit
proc `==`*(self, other: Basis): bool
  Source Edit
proc isEqualApprox*(self, other: Basis): bool
  Source Edit
proc tdotx*(self: Basis; v: Vector3): float32 {.
inline
.}
  Source Edit
proc tdoty*(self: Basis; v: Vector3): float32 {.
inline
.}
  Source Edit
proc tdotz*(self: Basis; v: Vector3): float32 {.
inline
.}
  Source Edit
proc `+`*(self, other: Basis): Basis {.
inline
.}
  Source Edit
proc `+=`*(self: var Basis; other: Basis) {.
inline
.}
  Source Edit
proc `-`*(self, other: Basis): Basis {.
inline
.}
  Source Edit
proc `-=`*(self: var Basis; other: Basis) {.
inline
.}
  Source Edit
proc `*`*(self, other: Basis): Basis {.
inline
.}
  Source Edit
proc `*=`*(self: var Basis; other: Basis) {.
inline
.}
  Source Edit
proc `*=`*(self: var Basis; b: float32) {.
inline
.}
  Source Edit
proc `*`*(self: Basis; b: float32): Basis {.
inline
.}
  Source Edit
proc initBasis*(): Basis {.
inline
.}
  Source Edit
proc initBasis*(row0, row1, row2: Vector3): Basis {.
inline
.}
  Source Edit
proc initBasis*(xx, xy, xz, yx, yy, yz, zx, zy, zz: float32): Basis
  Source Edit
proc initBasis*(euler: Quat): Basis {.
inline
.}
  Source Edit
proc initBasis*(axis: Vector3; phi: float32): Basis {.
inline
.}
  Source Edit
proc setEuler*(self: var Basis; euler: Vector3)
  Source Edit
proc getEuler*(self: Basis): Vector3
  Source Edit
proc initBasis*(euler: Vector3): Basis {.
inline
.}
  Source Edit
proc outer*(self, other: Vector3): Basis {.
inline
.}
  Source Edit
proc toDiagonalMatrix*(self: Vector3): Basis {.
inline
.}
  Source Edit
proc `$`*(self: Basis): string {.
inline
.}
  Source Edit
proc invert*(self: var Basis)
  Source Edit
proc inverse*(self: Basis): Basis {.
inline
.}
  Source Edit
proc axis*(self: Basis; idx: range[0 .. 2]): Vector3 {.
inline
.}
  Source Edit
proc setAxis*(self: var Basis; idx: range[0 .. 2]; value: Vector3) {.
inline
.}
  Source Edit
proc row*(self: Basis; row: range[0 .. 2]): Vector3 {.
inline
.}
  Source Edit
proc setRow*(self: var Basis; row: range[0 .. 2]; value: Vector3) {.
inline
.}
  Source Edit
proc getMainDiagonal*(self: Basis): Vector3 {.
inline
.}
  Source Edit
proc zero*(self: var Basis) {.
inline
.}
  Source Edit
proc orthonormalized*(self: Basis): Basis {.
inline
.}
  Source Edit
proc transpose*(self: var Basis) {.
inline
.}
  Source Edit
proc transposed*(self: Basis): Basis {.
inline
.}
  Source Edit
proc isOrthogonal*(self: Basis): bool {.
inline
.}
  Source Edit
proc isRotation*(self: Basis): bool {.
inline
.}
  Source Edit
proc isSymmetric*(self: Basis): bool {.
inline
.}
  Source Edit
proc scale*(self: var Basis; scale: Vector3)
  Source Edit
proc scaled*(self: Basis; scale: Vector3): Basis
  Source Edit
proc rotated*(self: Basis; axis: Vector3; phi: float32): Basis {.
inline
.}
  Source Edit
proc rotate*(self: var Basis; axis: Vector3; phi: float32) {.
inline
.}
  Source Edit
proc rotated*(self: Basis; euler: Vector3): Basis {.
inline
.}
  Source Edit
proc rotate*(self: var Basis; euler: Vector3) {.
inline
.}
  Source Edit
proc getScale*(self: Basis): Vector3
  Source Edit
proc getRotation*(self: Basis): Vector3 {.
inline
.}
  Source Edit
proc setScale*(self: var Basis; scale: Vector3)
  Source Edit
proc setRotationEuler*(self: var Basis; euler: Vector3)
  Source Edit
proc setRotationAxisAngle*(self: var Basis; axis: Vector3; angle: float32)
  Source Edit
proc asQuat*(self: Basis): Quat
  Source Edit
proc xform*(self: Basis; v: Vector3): Vector3 {.
inline
.}
  Source Edit
proc xformInv*(self: Basis; v: Vector3): Vector3 {.
inline
.}
  Source Edit
proc orthogonalIndex*(self: Basis): int
  Source Edit
proc setOrthogonalIndex*(self: var Basis; idx: range[0 .. 23])
  Source Edit
proc rotate*(self: var Vector3; axis: Vector3; phi: float32)
  Source Edit
proc rotated*(self: Vector3; axis: Vector3; phi: float32): Vector3
  Source Edit