MutableVec4f

open class MutableVec4f(x: Float, y: Float, z: Float, w: Float) : Vec4f

Constructors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun MutableVec4f(xyz: Vec3f, w: Float)
Link copied to clipboard
fun MutableVec4f(other: Vec4f)
Link copied to clipboard
fun MutableVec4f(x: Float, y: Float, z: Float, w: Float)

Functions

Link copied to clipboard
fun add(other: Vec4f): MutableVec4f
fun add(other: Vec2f, result: MutableVec2f): MutableVec2f
fun add(other: Vec3f, result: MutableVec3f): MutableVec3f
fun add(other: Vec4f, result: MutableVec4f): MutableVec4f
Link copied to clipboard
fun angleTo(other: Vec2f): Angle
Link copied to clipboard
Link copied to clipboard
fun cross(other: Vec3f, result: MutableVec3f): MutableVec3f
Link copied to clipboard
fun distance(other: Vec2f): Float
fun distance(other: Vec3f): Float
fun distance(other: Vec4f): Float
Link copied to clipboard
fun dot(other: Vec2f): Float
fun dot(other: Vec3f): Float
fun dot(other: Vec4f): Float
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Checks vector components for equality (using '==' operator). For better numeric stability consider using isFuzzyEqual.

Link copied to clipboard
open operator fun get(i: Int): Float
Link copied to clipboard
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun isFuzzyEqual(other: Vec2f, eps: Float = FUZZY_EQ_F): Boolean

Checks vector components for equality using com.lehaine.littlekt.math.isFuzzyEqual, that is all components must have a difference less or equal eps.

fun isFuzzyEqual(other: Vec3f, eps: Float = FUZZY_EQ_F): Boolean

Checks vector components for equality using com.lehaine.littlekt.math.isFuzzyEqual, that is all components must have a difference less or equal eps.

fun isFuzzyEqual(other: Vec4f, eps: Float = FUZZY_EQ_F): Boolean

Checks vector components for equality using com.lehaine.littlekt.math.isFuzzyEqual, that is all components must have a difference less or equal eps.

Link copied to clipboard
fun length(): Float
Link copied to clipboard
fun lookAt(forward: Vec3f, up: Vec3f, result: MutableVec4f): MutableVec4f
Link copied to clipboard
operator fun minusAssign(other: Vec4f)
Link copied to clipboard
fun mix(other: Vec2f, weight: Float, result: MutableVec2f): MutableVec2f
fun mix(other: Vec3f, weight: Float, result: MutableVec3f): MutableVec3f
fun mix(other: Vec4f, weight: Float, result: MutableVec4f): MutableVec4f
Link copied to clipboard
fun mul(other: Vec4f): MutableVec4f
fun mul(other: Vec2f, result: MutableVec2f): MutableVec2f
fun mul(other: Vec3f, result: MutableVec3f): MutableVec3f
fun mul(other: Vec4f, result: MutableVec4f): MutableVec4f
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
operator fun plusAssign(other: Vec4f)
Link copied to clipboard
fun quatMul(otherQuat: Vec4f): MutableVec4f
fun quatMul(otherQuat: Vec4f, result: MutableVec4f): MutableVec4f

Multiplies this vector as a quaternion with another in the form of this * other.

Link copied to clipboard
fun quatMulLeft(otherQuat: Vec4f): MutableVec4f
fun quatMulLeft(otherQuat: Vec4f, result: MutableVec4f): MutableVec4f

Multiplies this vector as a quaternion with another in the form of other * this.

Link copied to clipboard
fun rotate(angle: Angle, result: MutableVec2f): MutableVec2f
fun rotate(angle: Angle, axis: Vec3f, result: MutableVec3f): MutableVec3f
fun rotate(angle: Angle, axisX: Float, axisY: Float, axisZ: Float, result: MutableVec3f): MutableVec3f
Link copied to clipboard
fun scale(factor: Float): MutableVec4f
fun scale(factor: Float, result: MutableVec2f): MutableVec2f
fun scale(factor: Float, result: MutableVec3f): MutableVec3f
fun scale(factor: Float, result: MutableVec4f): MutableVec4f
Link copied to clipboard
fun set(other: Vec4f): MutableVec4f
fun set(xyz: Vec3f, w: Float = 0.0f): MutableVec4f
open operator fun set(i: Int, v: Float)
fun set(x: Float, y: Float, z: Float, w: Float): MutableVec4f
Link copied to clipboard
fun setEuler(pitch: Angle, yaw: Angle, roll: Angle): MutableVec4f
Link copied to clipboard
fun setLength(length: Float, result: MutableVec2f): MutableVec2f
Link copied to clipboard
fun setSqrLength(sqrLength: Float, result: MutableVec2f): MutableVec2f
Link copied to clipboard
fun sqrDistance(other: Vec2f): Float
fun sqrDistance(other: Vec3f): Float
fun sqrDistance(other: Vec4f): Float
Link copied to clipboard
open override fun sqrLength(): Float
Link copied to clipboard
Link copied to clipboard
operator fun times(other: Vec2f): Float
operator fun times(other: Vec3f): Float
operator fun times(other: Vec4f): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
fun toVec2(): Vec2f
Link copied to clipboard
fun toVec3(): Vec3f
Link copied to clipboard
fun toVec4(): Vec4f
Link copied to clipboard

Transforms the given vector using this quaternion and outputs the result.

Properties

Link copied to clipboard
Link copied to clipboard

The pole of the gimbal lock, if any. Postiive (+1) for north pole, negative (-1) for south pole, zero (0) who no gimbal lock.

Link copied to clipboard

The rotation around the x-axis. Requires that this vector / quaternion to be normalized.

Link copied to clipboard
val roll: Angle

The rotation around the z-axis. Requires this vector / quaternion to be normalized.

Link copied to clipboard
open override var w: Float
Link copied to clipboard
open override var x: Float
Link copied to clipboard
open override var y: Float
Link copied to clipboard
val yaw: Angle

The rotation around the y-axis. Requires that this vector / quaternion tobe normalized.

Link copied to clipboard
open override var z: Float

Extensions

Link copied to clipboard
fun Vec3f.distanceToEdge(edgeA: Vec3f, edgeB: Vec3f): Float
fun Vec2f.distanceToEdge(edgeA: Vec2f, edgeB: Vec2f): Float
Link copied to clipboard
fun Vec3f.distanceToLine(lineA: Vec3f, lineB: Vec3f): Float
Link copied to clipboard
fun Vec3f.distanceToRay(origin: Vec3f, direction: Vec3f): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun Vec3f.nearestPointOnRay(origin: Vec3f, direction: Vec3f, result: MutableVec3f): MutableVec3f
Link copied to clipboard
fun Vec3f.sqrDistanceToEdge(edgeA: Vec3f, edgeB: Vec3f): Float
fun Vec2f.sqrDistanceToEdge(edgeA: Vec2f, edgeB: Vec2f): Float
Link copied to clipboard
fun Vec3f.sqrDistanceToLine(lineA: Vec3f, lineB: Vec3f): Float
Link copied to clipboard
fun Vec3f.sqrDistanceToRay(origin: Vec3f, direction: Vec3f): Float
Link copied to clipboard
fun Vec3f.xy(): Vec2f