Constructor

@:value({ w : 1., z : 0., y : 0., x : 0. })inlinenew(x:Float = 0., y:Float = 0., z:Float = 0., w:Float = 1.)

Variables

w:Float

x:Float

y:Float

z:Float

Methods

inlineconjugate():Void

inlinedot(q:Quat):Float

inlineidentity():Void

initDirection(dir:Vector, ?up:Vector):Void

initMoveTo(from:Vector, to:Vector):Void

@:value({ rotate : 0.0 })initNormal(dir:Point, rotate:Float = 0.0):Void

initRotateAxis(x:Float, y:Float, z:Float, a:Float):Void

initRotation(ax:Float, ay:Float, az:Float):Void

inlinelength():Float

inlinelengthSq():Float

@:value({ nearest : false })inlinelerp(q1:Quat, q2:Quat, v:Float, nearest:Bool = false):Void

inlineload(q:Quat):Void

multiply(q1:Quat, q2:Quat):Void

inlinenegate():Void

Negate the quaternion: this will not change the actual angle, use conjugate for that.

normalize():Void

inlinepow(v:Float):Void

Makes a unit quaternion to the power of the value.

inlineset(x:Float, y:Float, z:Float, w:Float):Void

slerp(q1:Quat, q2:Quat, v:Float):Void

toMatrix(?m:Matrix):Null<Matrix>

Save to a Left-Handed matrix

toString():String

weightedBlend(sourceQuats:Array<Quat>, weights:Array<Float>, referenceQuat:Quat):Void

Blends the sourceQuats together with the given weights and store the result in this. ReferenceQuat is the default rotation to use as the base for the blend (for example the default rotation of a bone in a skeletal mesh)