Package-level declarations

Types

Link copied to clipboard
data class Double3(var x: Double = 0.0, var y: Double = 0.0, var z: Double = 0.0)
Link copied to clipboard
typealias Mat3F = Mat3
Link copied to clipboard
typealias Mat4F = Mat4
Link copied to clipboard
data class Quaternion(var x: Double = 0.0, var y: Double = 0.0, var z: Double = 0.0, var w: Double = 1.0)

Construct Quaternion and set each value. The Quaternion will be normalized during construction Default: Identity

Link copied to clipboard
typealias QuaternionF = Quaternion

Functions

Link copied to clipboard
inline fun abs(v: Double3): Double3
inline fun abs(q: Quaternion): Quaternion
Link copied to clipboard
inline fun angle(a: Double3, b: Double3): Double
Link copied to clipboard
inline fun clamp(v: Double3, min: Double3, max: Double3): Double3
inline fun clamp(v: Double3, min: Double, max: Double): Double3
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun distance(a: Double3, b: Double3): Double
Link copied to clipboard
inline operator fun Double.div(v: Double3): Double3
inline operator fun Double.div(q: Quaternion): Quaternion
Link copied to clipboard
inline fun dot(a: Double3, b: Double3): Double
inline fun dot(a: Quaternion, b: Quaternion): Double
Link copied to clipboard
Link copied to clipboard
inline fun length(v: Double3): Double
inline fun length(q: Quaternion): Double
Link copied to clipboard
inline fun length2(v: Double3): Double
inline fun length2(q: Quaternion): Double
Link copied to clipboard
Link copied to clipboard
inline fun max(v: Double3): Double
inline fun max(a: Double3, b: Double3): Double3
Link copied to clipboard
inline fun min(v: Double3): Double
inline fun min(a: Double3, b: Double3): Double3
Link copied to clipboard
inline operator fun Double.minus(v: Double3): Double3
inline operator fun Double.minus(q: Quaternion): Quaternion
Link copied to clipboard
inline fun mix(a: Double3, b: Double3, x: Double3): Double3
inline fun mix(a: Double3, b: Double3, x: Double): Double3
Link copied to clipboard
Link copied to clipboard

Rescale the Quaternion to the unit length

Link copied to clipboard
inline operator fun Double.plus(v: Double3): Double3
inline operator fun Double.plus(q: Quaternion): Quaternion
Link copied to clipboard
inline fun reflect(i: Double3, n: Double3): Double3
Link copied to clipboard
fun refract(i: Double3, n: Double3, eta: Double): Double3
Link copied to clipboard
fun slerp(a: Quaternion, b: Quaternion, t: Double, dotThreshold: Double = 0.9995): Quaternion

Spherical linear interpolation between two given orientations

Link copied to clipboard
inline operator fun Double.times(v: Double3): Double3
inline operator fun Double.times(q: Quaternion): Quaternion
Link copied to clipboard
Link copied to clipboard
inline fun transform(v: Double3, block: (Double) -> Double): Double3
Link copied to clipboard
infix inline fun Double3.x(v: Double3): Double3