SBDTypeDualQuaternion Class Reference

This class describes a dual quaternion. More...

Public Attributes

SBDual w
 The first component of the dual quaternion.
 
SBDual x
 The second component of the dual quaternion.
 
SBDual y
 The third component of the dual quaternion.
 
SBDual z
 The fourth component of the dual quaternion.
 

Constructors

 SBDTypeDualQuaternion ()
 Constructs a dual quaternion with components set to zero.
 
 SBDTypeDualQuaternion (double v[8])
 Constructs a dual quaternion such that w=(v[0], v[1]), x=(v[2], v[3]), y=(v[4], v[5]), z=(v[6], v[7])
 
 SBDTypeDualQuaternion (const SBDTypeDual &w, const SBDTypeDual &x, const SBDTypeDual &y, const SBDTypeDual &z)
 Constructs a dual quaternion from dual numbers w, x, y and z.
 
 SBDTypeDualQuaternion (double wa, double xa, double ya, double za, double wb, double xb, double yb, double zb)
 Constructs a dual quaternion such that w=(wa, wb), x=(xa, xb), y=(ya, yb), z=(za, zb)
 
 SBDTypeDualQuaternion (const SBQuantity::dimensionless &wa, const SBQuantity::dimensionless &xa, const SBQuantity::dimensionless &ya, const SBQuantity::dimensionless &za, const SBQuantity::dimensionless &wb, const SBQuantity::dimensionless &xb, const SBQuantity::dimensionless &yb, const SBQuantity::dimensionless &zb)
 Constructs a dual quaternion such that w=(wa, wb), x=(xa, xb), y=(ya, yb), z=(za, zb)
 

Serialization

virtual bool isSerializable () const
 Returns true.
 
virtual void serialize (SBCSerializer *serializer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER) const
 Serializes the dual quaternion.
 
virtual void unserialize (SBCSerializer *serializer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER)
 Unserializes the dual quaternion.
 

Operators

SBDTypeDualQuaternion operator+ (const SBDTypeDualQuaternion &d) const
 Returns the sum of this dual quaternion with dual quaternion d.
 
SBDTypeDualQuaternion operator- (const SBDTypeDualQuaternion &d) const
 Returns the difference between this dual quaternion and dual quaternion d.
 
SBDTypeDualQuaternion operator* (const SBDTypeDualQuaternion &d) const
 Returns the product of this dual quaternion with dual quaternion d.
 
SBDTypeDualQuaternion operator* (double d) const
 Returns the product of this dual quaternion with double d.
 
SBDTypeDualQuaternion operator* (const SBQuantity::dimensionless &d) const
 Returns the product of this dual quaternion with dimensionless quantity d.
 
SBDTypeDualQuaternionoperator+= (const SBDTypeDualQuaternion &d)
 Adds dual quaternion d to this dual quaternion.
 
SBDTypeDualQuaternionoperator-= (const SBDTypeDualQuaternion &d)
 Subtracts dual quaternion d from this dual quaternion.
 
SBDTypeDualQuaternionoperator*= (const SBDTypeDualQuaternion &d)
 Multiplies this dual quaternion with dual quaternion d.
 
SBDTypeDualQuaternionoperator*= (double d)
 Multiplies this dual quaternion with double d.
 
SBDTypeDualQuaternionoperator*= (const SBQuantity::dimensionless &d)
 Multiplies this dual quaternion with dimensionless quantity d.
 

Useful functions

SBDTypeDual norm () const
 Returns the norm of the dual quaternion.
 
void normalize ()
 Normalizes the dual quaternion.
 
SBDTypeDualQuaternion normalizedVersion () const
 Returns the normalized version of the dual quaternion.
 
SBDTypeDualQuaternion conjugate () const
 Returns the conjugate of the dual quaternion.
 
SBDTypeDualQuaternion biconjugate () const
 Returns the bi-conjugate of the dual quaternion.
 
void print () const
 Prints the dual quaternion.
 

Detailed Description

This class describes dual quaternions, which may be used to represent and interpolate rigid body positions and orientations. Dual quaternions are quaternions whose components are dual numbers.

Short name: SBDualQuaternion

See also
SBDTypeDual
SAMSON's unit system
The SBDType library