C# Class Axiom.Math.Quaternion

Summary description for Quaternion.
Show file Open project: WolfgangSt/axiom Class Usage Examples

Public Properties

Property Type Description
w Real

Public Methods

Method Description
Add ( Quaternion left, Quaternion right ) : Quaternion

Used when a Quaternion is added to another Quaternion.

Dot ( Quaternion quat ) : Real

Performs a Dot Product operation on 2 Quaternions.

Equals ( Quaternion rhs, Real tolerance ) : bool
Equals ( object obj ) : bool
Exp ( ) : Quaternion

Calculates the Exponent of a Quaternion.

FromAngleAxis ( Real angle, Vector3 axis ) : Quaternion

Creates a Quaternion from a supplied angle and axis.

FromAxes ( Vector3 xAxis, Vector3 yAxis, Vector3 zAxis ) : Quaternion

FromEulerAngles ( Real pitch, Real yaw, Real roll ) : Quaternion

Combines the euler angles in the order yaw, pitch, roll to create a rotation quaternion

FromEulerAnglesInDegrees ( Real pitch, Real yaw, Real roll ) : Quaternion
FromRotationMatrix ( Axiom.Math.Matrix3 matrix ) : Quaternion

GetHashCode ( ) : int
Inverse ( ) : Quaternion

Computes the inverse of a Quaternion.

Log ( ) : Quaternion

Calculates the logarithm of a Quaternion.

Multiply ( Quaternion left, Quaternion right ) : Quaternion

Used to multiply 2 Quaternions together.

Quaternion multiplication is not communative in most cases. i.e. p*q != q*p

Multiply ( Quaternion left, Real scalar ) : Quaternion

Used when a Quaternion is multiplied by a Real value.

Multiply ( Real scalar, Quaternion right ) : Quaternion

Used when a Real value is multiplied by a Quaternion.

Multiply ( Quaternion quat, Vector3 vector ) : Vector3

Nlerp ( Real fT, Quaternion rkP, Quaternion rkQ ) : Quaternion

normalised linear interpolation - faster but less accurate (non-constant rotation velocity)

Nlerp ( Real fT, Quaternion rkP, Quaternion rkQ, bool shortestPath ) : Quaternion
Normalize ( ) : void

Normalizes elements of this quaterion to the range [0,1].

Parse ( string quat ) : Quaternion
Quaternion ( Real w, Real x, Real y, Real z ) : System

Creates a new Quaternion.

Slerp ( Real time, Quaternion quatA, Quaternion quatB ) : Quaternion
Slerp ( Real time, Quaternion quatA, Quaternion quatB, bool useShortestPath ) : Quaternion

Squad ( Real t, Quaternion p, Quaternion a, Quaternion b, Quaternion q ) : Quaternion
Squad ( Real t, Quaternion p, Quaternion a, Quaternion b, Quaternion q, bool useShortestPath ) : Quaternion

Performs spherical quadratic interpolation.

Subtract ( Quaternion left, Quaternion right ) : Quaternion
ToAngleAxis ( Real &angle, Vector3 &axis ) : void

ToAxes ( Vector3 &xAxis, Vector3 &yAxis, Vector3 &zAxis ) : void

ToEulerAngles ( ) : Vector3
ToEulerAngles ( Real &pitch, Real &yaw, Real &roll ) : void
ToEulerAnglesInDegrees ( ) : Vector3
ToEulerAnglesInDegrees ( Real &pitch, Real &yaw, Real &roll ) : void
ToRotationMatrix ( ) : Axiom.Math.Matrix3

Gets a 3x3 rotation matrix from this Quaternion.

ToString ( ) : string

Overrides the Object.ToString() method to provide a text representation of a Quaternion.

operator ( ) : Quaternion

Used to multiply 2 Quaternions together.

Quaternion multiplication is not communative in most cases. i.e. p*q != q*p

operator ( ) : Vector3

operator ( ) : bool

Method Details

Add() public static method

Used when a Quaternion is added to another Quaternion.
public static Add ( Quaternion left, Quaternion right ) : Quaternion
left Quaternion
right Quaternion
return Quaternion

Dot() public method

Performs a Dot Product operation on 2 Quaternions.
public Dot ( Quaternion quat ) : Real
quat Quaternion
return Real

Equals() public method

public Equals ( Quaternion rhs, Real tolerance ) : bool
rhs Quaternion
tolerance Real
return bool

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool

Exp() public method

Calculates the Exponent of a Quaternion.
public Exp ( ) : Quaternion
return Quaternion

FromAngleAxis() public static method

Creates a Quaternion from a supplied angle and axis.
public static FromAngleAxis ( Real angle, Vector3 axis ) : Quaternion
angle Real Value of an angle in radians.
axis Vector3 Arbitrary axis vector.
return Quaternion

FromAxes() public static method

public static FromAxes ( Vector3 xAxis, Vector3 yAxis, Vector3 zAxis ) : Quaternion
xAxis Vector3
yAxis Vector3
zAxis Vector3
return Quaternion

FromEulerAngles() public static method

Combines the euler angles in the order yaw, pitch, roll to create a rotation quaternion
public static FromEulerAngles ( Real pitch, Real yaw, Real roll ) : Quaternion
pitch Real
yaw Real
roll Real
return Quaternion

FromEulerAnglesInDegrees() public static method

public static FromEulerAnglesInDegrees ( Real pitch, Real yaw, Real roll ) : Quaternion
pitch Real
yaw Real
roll Real
return Quaternion

FromRotationMatrix() public static method

public static FromRotationMatrix ( Axiom.Math.Matrix3 matrix ) : Quaternion
matrix Axiom.Math.Matrix3
return Quaternion

GetHashCode() public method

public GetHashCode ( ) : int
return int

Inverse() public method

Computes the inverse of a Quaternion.
public Inverse ( ) : Quaternion
return Quaternion

Log() public method

Calculates the logarithm of a Quaternion.
public Log ( ) : Quaternion
return Quaternion

Multiply() public static method

Used to multiply 2 Quaternions together.
Quaternion multiplication is not communative in most cases. i.e. p*q != q*p
public static Multiply ( Quaternion left, Quaternion right ) : Quaternion
left Quaternion
right Quaternion
return Quaternion

Multiply() public static method

Used when a Quaternion is multiplied by a Real value.
public static Multiply ( Quaternion left, Real scalar ) : Quaternion
left Quaternion
scalar Real
return Quaternion

Multiply() public static method

Used when a Real value is multiplied by a Quaternion.
public static Multiply ( Real scalar, Quaternion right ) : Quaternion
scalar Real
right Quaternion
return Quaternion

Multiply() public static method

public static Multiply ( Quaternion quat, Vector3 vector ) : Vector3
quat Quaternion
vector Vector3
return Vector3

Nlerp() public static method

normalised linear interpolation - faster but less accurate (non-constant rotation velocity)
public static Nlerp ( Real fT, Quaternion rkP, Quaternion rkQ ) : Quaternion
fT Real
rkP Quaternion
rkQ Quaternion
return Quaternion

Nlerp() public static method

public static Nlerp ( Real fT, Quaternion rkP, Quaternion rkQ, bool shortestPath ) : Quaternion
fT Real
rkP Quaternion
rkQ Quaternion
shortestPath bool
return Quaternion

Normalize() public method

Normalizes elements of this quaterion to the range [0,1].
public Normalize ( ) : void
return void

Parse() public method

public Parse ( string quat ) : Quaternion
quat string
return Quaternion

Quaternion() public method

Creates a new Quaternion.
public Quaternion ( Real w, Real x, Real y, Real z ) : System
w Real
x Real
y Real
z Real
return System

Slerp() public static method

public static Slerp ( Real time, Quaternion quatA, Quaternion quatB ) : Quaternion
time Real
quatA Quaternion
quatB Quaternion
return Quaternion

Slerp() public static method

public static Slerp ( Real time, Quaternion quatA, Quaternion quatB, bool useShortestPath ) : Quaternion
time Real
quatA Quaternion
quatB Quaternion
useShortestPath bool
return Quaternion

Squad() public static method

public static Squad ( Real t, Quaternion p, Quaternion a, Quaternion b, Quaternion q ) : Quaternion
t Real
p Quaternion
a Quaternion
b Quaternion
q Quaternion
return Quaternion

Squad() public static method

Performs spherical quadratic interpolation.
public static Squad ( Real t, Quaternion p, Quaternion a, Quaternion b, Quaternion q, bool useShortestPath ) : Quaternion
t Real
p Quaternion
a Quaternion
b Quaternion
q Quaternion
useShortestPath bool
return Quaternion

Subtract() public static method

public static Subtract ( Quaternion left, Quaternion right ) : Quaternion
left Quaternion
right Quaternion
return Quaternion

ToAngleAxis() public method

public ToAngleAxis ( Real &angle, Vector3 &axis ) : void
angle Real
axis Vector3
return void

ToAxes() public method

public ToAxes ( Vector3 &xAxis, Vector3 &yAxis, Vector3 &zAxis ) : void
xAxis Vector3
yAxis Vector3
zAxis Vector3
return void

ToEulerAngles() public method

public ToEulerAngles ( ) : Vector3
return Vector3

ToEulerAngles() public method

public ToEulerAngles ( Real &pitch, Real &yaw, Real &roll ) : void
pitch Real
yaw Real
roll Real
return void

ToEulerAnglesInDegrees() public method

public ToEulerAnglesInDegrees ( ) : Vector3
return Vector3

ToEulerAnglesInDegrees() public method

public ToEulerAnglesInDegrees ( Real &pitch, Real &yaw, Real &roll ) : void
pitch Real
yaw Real
roll Real
return void

ToRotationMatrix() public method

Gets a 3x3 rotation matrix from this Quaternion.
public ToRotationMatrix ( ) : Axiom.Math.Matrix3
return Axiom.Math.Matrix3

ToString() public method

Overrides the Object.ToString() method to provide a text representation of a Quaternion.
public ToString ( ) : string
return string

operator() public static method

Used to multiply 2 Quaternions together.
Quaternion multiplication is not communative in most cases. i.e. p*q != q*p
public static operator ( ) : Quaternion
return Quaternion

operator() public static method

public static operator ( ) : Vector3
return Vector3

operator() public static method

public static operator ( ) : bool
return bool

Property Details

w public property

public Real w
return Real