VR-Link C# API Documentation
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Properties
makVrl.Quaternion Struct Reference

Represents a Quaternion. More...

+ Inheritance diagram for makVrl.Quaternion:
+ Collaboration diagram for makVrl.Quaternion:

Public Member Functions

 Quaternion (Vector3f v, float w)
 Construct a new Quaternion from vector and w components
 Quaternion (float x, float y, float z, float w)
 Construct a new Quaternion
void ToAxisAngle (out Vector3f axis, out float angle)
 Convert the current quaternion to axis angle representation
Vector4 ToAxisAngle ()
 Convert this instance to an axis-angle representation.
Quaternion Normalized ()
 Returns a copy of the Quaternion scaled to unit length.
void Invert ()
 Reverses the rotation angle of this Quaterniond.
Quaternion Inverted ()
 Returns a copy of this Quaterniond with its rotation angle reversed.
void Normalize ()
 Scales the Quaternion to unit length.
void Conjugate ()
 Inverts the Vector3 component of this Quaternion.
override string ToString ()
 Returns a System.String that represents the current Quaternion.
override bool Equals (object other)
 Compares this object instance to another object for equality.
override int GetHashCode ()
 Provides the hash code for this object.
bool Equals (Quaternion other)
 Compares this Quaternion instance to another Quaternion for equality.

Static Public Member Functions

static Quaternion Add (Quaternion left, Quaternion right)
 Add two quaternions
static void Add (ref Quaternion left, ref Quaternion right, out Quaternion result)
 Add two quaternions
static Quaternion Sub (Quaternion left, Quaternion right)
 Subtracts two instances.
static void Sub (ref Quaternion left, ref Quaternion right, out Quaternion result)
 Subtracts two instances.
static Quaternion Mult (Quaternion left, Quaternion right)
 Multiplies two instances.
static void Mult (ref Quaternion left, ref Quaternion right, out Quaternion result)
 Multiplies two instances.
static Quaternion Multiply (Quaternion left, Quaternion right)
 Multiplies two instances.
static void Multiply (ref Quaternion left, ref Quaternion right, out Quaternion result)
 Multiplies two instances.
static void Multiply (ref Quaternion quaternion, float scale, out Quaternion result)
 Multiplies an instance by a scalar.
static Quaternion Multiply (Quaternion quaternion, float scale)
 Multiplies an instance by a scalar.
static Quaternion Conjugate (Quaternion q)
 Get the conjugate of the given quaternion
static void Conjugate (ref Quaternion q, out Quaternion result)
 Get the conjugate of the given quaternion
static Quaternion Invert (Quaternion q)
 Get the inverse of the given quaternion
static void Invert (ref Quaternion q, out Quaternion result)
 Get the inverse of the given quaternion
static Quaternion Normalize (Quaternion q)
 Scale the given quaternion to unit length
static void Normalize (ref Quaternion q, out Quaternion result)
 Scale the given quaternion to unit length
static Quaternion FromAxisAngle (Vector3f axis, float angle)
 Build a quaternion from the given axis and angle
static Quaternion FromMatrix (Matrix3 matrix)
 Builds a quaternion from the given rotation matrix
static void FromMatrix (ref Matrix3 matrix, out Quaternion result)
 Builds a quaternion from the given rotation matrix
static Quaternion Slerp (Quaternion q1, Quaternion q2, float blend)
 Do Spherical linear interpolation between two quaternions
static Quaternion operator+ (Quaternion left, Quaternion right)
 Adds two instances.
static Quaternion operator- (Quaternion left, Quaternion right)
 Subtracts two instances.
static Quaternion operator* (Quaternion left, Quaternion right)
 Multiplies two instances.
static Quaternion operator* (Quaternion quaternion, float scale)
 Multiplies an instance by a scalar.
static Quaternion operator* (float scale, Quaternion quaternion)
 Multiplies an instance by a scalar.
static bool operator== (Quaternion left, Quaternion right)
 Compares two instances for equality.
static bool operator!= (Quaternion left, Quaternion right)
 Compares two instances for inequality.

Public Attributes

Vector3f xyz
float w

Static Public Attributes

static readonly Quaternion Identity = new Quaternion(0, 0, 0, 1)
 Defines the identity quaternion.

Properties

Vector3f XYZ [get, set]
 Gets or sets an makVrl.Vector3 with the X, Y and Z components of this instance.
Vector3f Xyz [get, set]
 Gets or sets an makVrl.Vector3 with the X, Y and Z components of this instance.
float X [get, set]
 Gets or sets the X component of this instance.
float Y [get, set]
 Gets or sets the Y component of this instance.
float Z [get, set]
 Gets or sets the Z component of this instance.
float W [get, set]
 Gets or sets the W component of this instance.
float Length [get]
 Gets the length (magnitude) of the quaternion.
float LengthSquared [get]
 Gets the square of the quaternion length (magnitude).

Detailed Description

Represents a Quaternion.

Constructor & Destructor Documentation

makVrl.Quaternion.Quaternion ( Vector3f  v,
float  w 
)
inline
makVrl.Quaternion.Quaternion ( float  x,
float  y,
float  z,
float  w 
)
inline

Construct a new Quaternion

Parameters
xThe x component
yThe y component
zThe z component
wThe w component

Member Function Documentation

static Quaternion makVrl.Quaternion.Add ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Add two quaternions

Parameters
leftThe first operand
rightThe second operand
Returns
The result of the addition

References makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static void makVrl.Quaternion.Add ( ref Quaternion  left,
ref Quaternion  right,
out Quaternion  result 
)
inlinestatic

Add two quaternions

Parameters
leftThe first operand
rightThe second operand
resultThe result of the addition

References makVrl.Quaternion.Quaternion().

void makVrl.Quaternion.Conjugate ( )
inline

Inverts the Vector3 component of this Quaternion.

References makVrl.Quaternion.Xyz.

static Quaternion makVrl.Quaternion.Conjugate ( Quaternion  q)
inlinestatic

Get the conjugate of the given quaternion

Parameters
qThe quaternion
Returns
The conjugate of the given quaternion

References makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static void makVrl.Quaternion.Conjugate ( ref Quaternion  q,
out Quaternion  result 
)
inlinestatic

Get the conjugate of the given quaternion

Parameters
qThe quaternion
resultThe conjugate of the given quaternion

References makVrl.Quaternion.Quaternion().

override bool makVrl.Quaternion.Equals ( object  other)
inline

Compares this object instance to another object for equality.

Parameters
otherThe other object to be used in the comparison.
Returns
True if both objects are Quaternions of equal value. Otherwise it returns false.

References makVrl.Quaternion.Quaternion().

Referenced by makVrl.Quaternion.operator!=(), and makVrl.Quaternion.operator==().

bool makVrl.Quaternion.Equals ( Quaternion  other)
inline

Compares this Quaternion instance to another Quaternion for equality.

Parameters
otherThe other Quaternion to be used in the comparison.
Returns
True if both instances are equal; false otherwise.

References makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static Quaternion makVrl.Quaternion.FromAxisAngle ( Vector3f  axis,
float  angle 
)
inlinestatic

Build a quaternion from the given axis and angle

Parameters
axisThe axis to rotate about
angleThe rotation angle in radians
Returns
The equivalent quaternion

References makVrl.Quaternion.Identity, makVrl.Vector3f.LengthSquared, makVrl.Quaternion.Normalize(), makVrl.Vector3f.Normalize(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static Quaternion makVrl.Quaternion.FromMatrix ( Matrix3  matrix)
inlinestatic

Builds a quaternion from the given rotation matrix

Parameters
matrixA rotation matrix
Returns
The equivalent quaternion
static void makVrl.Quaternion.FromMatrix ( ref Matrix3  matrix,
out Quaternion  result 
)
inlinestatic

Builds a quaternion from the given rotation matrix

Parameters
matrixA rotation matrix
resultThe equivalent quaternion

References makVrl.Quaternion.w.

override int makVrl.Quaternion.GetHashCode ( )
inline

Provides the hash code for this object.

Returns
A hash code formed from the bitwise XOR of this objects members.

References makVrl.Vector3f.GetHashCode(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

void makVrl.Quaternion.Invert ( )
inline
static Quaternion makVrl.Quaternion.Invert ( Quaternion  q)
inlinestatic

Get the inverse of the given quaternion

Parameters
qThe quaternion to invert
Returns
The inverse of the given quaternion

References makVrl.Quaternion.Invert().

static void makVrl.Quaternion.Invert ( ref Quaternion  q,
out Quaternion  result 
)
inlinestatic

Get the inverse of the given quaternion

Parameters
qThe quaternion to invert
resultThe inverse of the given quaternion

References makVrl.Quaternion.Quaternion().

Quaternion makVrl.Quaternion.Inverted ( )
inline

Returns a copy of this Quaterniond with its rotation angle reversed.

References makVrl.Quaternion.Invert().

static Quaternion makVrl.Quaternion.Mult ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Multiplies two instances.

Parameters
leftThe first instance.
rightThe second instance.
Returns
A new instance containing the result of the calculation.

References makVrl.Vector3f.Cross(), makVrl.Vector3f.Dot(), makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static void makVrl.Quaternion.Mult ( ref Quaternion  left,
ref Quaternion  right,
out Quaternion  result 
)
inlinestatic

Multiplies two instances.

Parameters
leftThe first instance.
rightThe second instance.
resultA new instance containing the result of the calculation.

References makVrl.Vector3f.Cross(), makVrl.Vector3f.Dot(), and makVrl.Quaternion.Quaternion().

static Quaternion makVrl.Quaternion.Multiply ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Multiplies two instances.

Parameters
leftThe first instance.
rightThe second instance.
Returns
A new instance containing the result of the calculation.

Referenced by makVrl.Quaternion.operator*(), makVrl.Vector2.Transform(), and makVrl.Vector4.Transform().

static void makVrl.Quaternion.Multiply ( ref Quaternion  left,
ref Quaternion  right,
out Quaternion  result 
)
inlinestatic

Multiplies two instances.

Parameters
leftThe first instance.
rightThe second instance.
resultA new instance containing the result of the calculation.

References makVrl.Vector3f.Cross(), makVrl.Vector3f.Dot(), and makVrl.Quaternion.Quaternion().

static void makVrl.Quaternion.Multiply ( ref Quaternion  quaternion,
float  scale,
out Quaternion  result 
)
inlinestatic

Multiplies an instance by a scalar.

Parameters
quaternionThe instance.
scaleThe scalar.
resultA new instance containing the result of the calculation.

References makVrl.Quaternion.Quaternion().

static Quaternion makVrl.Quaternion.Multiply ( Quaternion  quaternion,
float  scale 
)
inlinestatic

Multiplies an instance by a scalar.

Parameters
quaternionThe instance.
scaleThe scalar.
Returns
A new instance containing the result of the calculation.

References makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, makVrl.Quaternion.X, makVrl.Quaternion.Y, and makVrl.Quaternion.Z.

void makVrl.Quaternion.Normalize ( )
inline
static Quaternion makVrl.Quaternion.Normalize ( Quaternion  q)
inlinestatic

Scale the given quaternion to unit length

Parameters
qThe quaternion to normalize
Returns
The normalized quaternion

References makVrl.Quaternion.Normalize().

static void makVrl.Quaternion.Normalize ( ref Quaternion  q,
out Quaternion  result 
)
inlinestatic

Scale the given quaternion to unit length

Parameters
qThe quaternion to normalize
resultThe normalized quaternion

References makVrl.Quaternion.Quaternion().

Quaternion makVrl.Quaternion.Normalized ( )
inline

Returns a copy of the Quaternion scaled to unit length.

References makVrl.Quaternion.Normalize().

static bool makVrl.Quaternion.operator!= ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Compares two instances for inequality.

Parameters
leftThe first instance.
rightThe second instance.
Returns
True, if left does not equal right; false otherwise.

References makVrl.Quaternion.Equals().

static Quaternion makVrl.Quaternion.operator* ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Multiplies two instances.

Parameters
leftThe first instance.
rightThe second instance.
Returns
The result of the calculation.

References makVrl.Quaternion.Multiply().

static Quaternion makVrl.Quaternion.operator* ( Quaternion  quaternion,
float  scale 
)
inlinestatic

Multiplies an instance by a scalar.

Parameters
quaternionThe instance.
scaleThe scalar.
Returns
A new instance containing the result of the calculation.

References makVrl.Quaternion.Multiply().

static Quaternion makVrl.Quaternion.operator* ( float  scale,
Quaternion  quaternion 
)
inlinestatic

Multiplies an instance by a scalar.

Parameters
quaternionThe instance.
scaleThe scalar.
Returns
A new instance containing the result of the calculation.

References makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, makVrl.Quaternion.X, makVrl.Quaternion.Y, and makVrl.Quaternion.Z.

static Quaternion makVrl.Quaternion.operator+ ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Adds two instances.

Parameters
leftThe first instance.
rightThe second instance.
Returns
The result of the calculation.

References makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static Quaternion makVrl.Quaternion.operator- ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Subtracts two instances.

Parameters
leftThe first instance.
rightThe second instance.
Returns
The result of the calculation.

References makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static bool makVrl.Quaternion.operator== ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Compares two instances for equality.

Parameters
leftThe first instance.
rightThe second instance.
Returns
True, if left equals right; false otherwise.

References makVrl.Quaternion.Equals().

static Quaternion makVrl.Quaternion.Slerp ( Quaternion  q1,
Quaternion  q2,
float  blend 
)
inlinestatic

Do Spherical linear interpolation between two quaternions

Parameters
q1The first quaternion
q2The second quaternion
blendThe blend factor
Returns
A smooth blend between the given quaternions

References makVrl.Vector3f.Dot(), makVrl.Quaternion.Identity, makVrl.Quaternion.LengthSquared, makVrl.Quaternion.Normalize(), makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static Quaternion makVrl.Quaternion.Sub ( Quaternion  left,
Quaternion  right 
)
inlinestatic

Subtracts two instances.

Parameters
leftThe left instance.
rightThe right instance.
Returns
The result of the operation.

References makVrl.Quaternion.Quaternion(), makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

static void makVrl.Quaternion.Sub ( ref Quaternion  left,
ref Quaternion  right,
out Quaternion  result 
)
inlinestatic

Subtracts two instances.

Parameters
leftThe left instance.
rightThe right instance.
resultThe result of the operation.

References makVrl.Quaternion.Quaternion().

void makVrl.Quaternion.ToAxisAngle ( out Vector3f  axis,
out float  angle 
)
inline

Convert the current quaternion to axis angle representation

Parameters
axisThe resultant axis
angleThe resultant angle

References makVrl.Quaternion.ToAxisAngle(), makVrl.Vector4.W, and makVrl.Vector4.Xyz.

Vector4 makVrl.Quaternion.ToAxisAngle ( )
inline

Convert this instance to an axis-angle representation.

Returns
A Vector4 that is the axis-angle representation of this quaternion.

References makVrl.Quaternion.Normalize(), makVrl.Vector3f.UnitX, makVrl.Vector4.W, makVrl.Quaternion.W, makVrl.Quaternion.Xyz, and makVrl.Vector4.Xyz.

Referenced by makVrl.Quaternion.ToAxisAngle().

override string makVrl.Quaternion.ToString ( )
inline

Returns a System.String that represents the current Quaternion.

Returns

References makVrl.Quaternion.W, and makVrl.Quaternion.Xyz.

Member Data Documentation

readonly Quaternion makVrl.Quaternion.Identity = new Quaternion(0, 0, 0, 1)
static

Defines the identity quaternion.

Referenced by makVrl.Quaternion.FromAxisAngle(), and makVrl.Quaternion.Slerp().

float makVrl.Quaternion.w
Vector3f makVrl.Quaternion.xyz

Property Documentation

float makVrl.Quaternion.Length
get

Gets the length (magnitude) of the quaternion.

See Also
LengthSquared

Referenced by makVrl.Quaternion.Normalize().

float makVrl.Quaternion.LengthSquared
get

Gets the square of the quaternion length (magnitude).

Referenced by makVrl.Quaternion.Slerp().

float makVrl.Quaternion.W
getset
float makVrl.Quaternion.X
getset
Vector3f makVrl.Quaternion.XYZ
getset

Gets or sets an makVrl.Vector3 with the X, Y and Z components of this instance.

Vector3f makVrl.Quaternion.Xyz
getset
float makVrl.Quaternion.Y
getset
float makVrl.Quaternion.Z
getset

The documentation for this struct was generated from the following file:

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)