Scene Fusion 2 API Reference
KS::ksQuaternion Class Reference

Public Member Functions

 ksQuaternion ()
 
 ksQuaternion (const ksQuaternion &q)
 
 ksQuaternion (Scalar x, Scalar y, Scalar z, Scalar w)
 
 ~ksQuaternion ()
 
Scalar & x ()
 
Scalar & y ()
 
Scalar & z ()
 
Scalar & w ()
 
const Scalar & x () const
 
const Scalar & y () const
 
const Scalar & z () const
 
const Scalar & w () const
 
Scalar & operator[] (const int index)
 
ksVector3 Vec () const
 
bool GetFirstNonZeroComponentSign ()
 
ksQuaternion operator* (const ksQuaternion &q) const
 
ksVector3 operator* (ksVector3 point)
 
ksQuaternion operator- () const
 
ksQuaternionoperator*= (const ksQuaternion &q)
 
bool operator== (const ksQuaternion &q)
 
bool operator!= (const ksQuaternion &q)
 
void Normalize ()
 
ksQuaternion Inverse () const
 
void ToAxisAngle (ksVector3 &axis, float &angle)
 
void ToAxisAngleRadians (ksVector3 &axis, float &angle)
 
std::string ToString ()
 

Static Public Member Functions

static ksQuaternion FromVectorDelta (ksVector3 startDirection, ksVector3 endDirection)
 
static ksQuaternion FromAxisAngle (ksVector3 axis, float angle)
 
static ksQuaternion FromAxisAngleRadians (ksVector3 axis, float angle)
 
static Scalar Dot (const ksQuaternion &q1, const ksQuaternion &q2)
 
static ksVector3 TransformVector (const ksVector3 &v, const ksQuaternion &q)
 
static ksQuaternion Slerp (const ksQuaternion &from, const ksQuaternion &to, float t)
 
static ksQuaternion AddAngularDisplacementRadians (const ksQuaternion &quaternion, const ksVector3 &angularDisplacement)
 

Constructor & Destructor Documentation

◆ ksQuaternion() [1/3]

KS::ksQuaternion::ksQuaternion ( )
inline

Default constructor.

◆ ksQuaternion() [2/3]

KS::ksQuaternion::ksQuaternion ( const ksQuaternion q)
inline

Copy constructor.

◆ ksQuaternion() [3/3]

KS::ksQuaternion::ksQuaternion ( Scalar  x,
Scalar  y,
Scalar  z,
Scalar  w 
)
inline

Initialized constructor.

◆ ~ksQuaternion()

KS::ksQuaternion::~ksQuaternion ( )
inline

Destructor

Member Function Documentation

◆ AddAngularDisplacementRadians()

static ksQuaternion KS::ksQuaternion::AddAngularDisplacementRadians ( const ksQuaternion quaternion,
const ksVector3 angularDisplacement 
)
inlinestatic

Rotates a ksQuaternion using angular displacement.

Parameters
ksQuaternion&ksQuaternion to rotate.
ksVector3&angularDisplacement in radians.
Returns
ksQuaternion

◆ Dot()

static Scalar KS::ksQuaternion::Dot ( const ksQuaternion q1,
const ksQuaternion q2 
)
inlinestatic

Dot product of two ksQuaternions.

Parameters
constksQuaternion& ksQuaternion 1
constksQuaternion& ksQuaternion 2
Returns
Scalar

◆ FromAxisAngle()

static ksQuaternion KS::ksQuaternion::FromAxisAngle ( ksVector3  axis,
float  angle 
)
inlinestatic

Constructs a ksQuaternion from an axis-angle.

Parameters
ksVector3axis of rotation.
floatangle of rotation in degrees.
Returns
ksQuaternion

◆ FromAxisAngleRadians()

static ksQuaternion KS::ksQuaternion::FromAxisAngleRadians ( ksVector3  axis,
float  angle 
)
inlinestatic

Constructs a ksQuaternion from an axis-angle.

Parameters
ksVector3axis of rotation.
floatangle of rotation in radians.
Returns
ksQuaternion

◆ FromVectorDelta()

static ksQuaternion KS::ksQuaternion::FromVectorDelta ( ksVector3  startDirection,
ksVector3  endDirection 
)
inlinestatic

Constructs a ksQuaternion that rotates one vector to another.

Parameters
ksVector3startDirection
ksVector3endDirection
Returns
ksQuaternion

◆ GetFirstNonZeroComponentSign()

bool KS::ksQuaternion::GetFirstNonZeroComponentSign ( )
inline

Return first nonzero component's sign. If all components are zeros, return true.

Returns
bool

◆ Inverse()

ksQuaternion KS::ksQuaternion::Inverse ( ) const
inline

Return the inverse of the ksQuaternion

Returns
ksQuaternion inversed ksQuaternion

◆ Normalize()

void KS::ksQuaternion::Normalize ( )
inline

Normalize the ksQuaternion

◆ operator!=()

bool KS::ksQuaternion::operator!= ( const ksQuaternion q)
inline

Not equivalence.

Parameters
constksQuaternion& q
Returns
bool

◆ operator*() [1/2]

ksQuaternion KS::ksQuaternion::operator* ( const ksQuaternion q) const
inline

Rotation composition

Parameters
constksQuaternion& q
Returns
ksQuaternion

◆ operator*() [2/2]

ksVector3 KS::ksQuaternion::operator* ( ksVector3  point)
inline

Rotates a vector by a ksQuaternion.

Parameters
ksVector3point to rotate.
Returns
ksVector3 rotated point.

◆ operator*=()

ksQuaternion& KS::ksQuaternion::operator*= ( const ksQuaternion q)
inline

Rotation composition

Parameters
constksQuaternion& q
Returns
ksQuaternion&

◆ operator-()

ksQuaternion KS::ksQuaternion::operator- ( ) const
inline

Unary minus.

Returns
ksQuaternion

◆ operator==()

bool KS::ksQuaternion::operator== ( const ksQuaternion q)
inline

Equivalence.

Parameters
constksQuaternion& q
Returns
bool

◆ Slerp()

static ksQuaternion KS::ksQuaternion::Slerp ( const ksQuaternion from,
const ksQuaternion to,
float  t 
)
inlinestatic

Spherically interpolates between two ksQuaternions.

Parameters
ksQuaternion&from - ksQuaternion to interpolate from.
ksQuaternion&to - ksQuaternion to interpolate to.
floatt - value between 0 and 1 that determines the amount of interpolation.
Returns
ksQuaternion interpolated ksQuaternion.

◆ ToAxisAngle()

void KS::ksQuaternion::ToAxisAngle ( ksVector3 axis,
float &  angle 
)
inline

Converts the ksQuaternion to axis-angle representation.

Parameters
ksVector3&axis of rotation.
float&angle of rotation in degrees.

◆ ToAxisAngleRadians()

void KS::ksQuaternion::ToAxisAngleRadians ( ksVector3 axis,
float &  angle 
)
inline

Converts the ksQuaternion to axis-angle representation.

Parameters
ksVector3&axis of rotation.
float&angle of rotation in radians.

◆ ToString()

std::string KS::ksQuaternion::ToString ( )
inline

String

Returns
std::string

◆ TransformVector()

static ksVector3 KS::ksQuaternion::TransformVector ( const ksVector3 v,
const ksQuaternion q 
)
inlinestatic

Apply a ksQuaternion rotation to a vector

Parameters
constksVector3& vector
constksQuaternion& ksQuaternion
Returns
ksVector3

◆ Vec()

ksVector3 KS::ksQuaternion::Vec ( ) const
inline

Return a vector component of this ksQuaternion

Returns
ksVector3

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