Dual quaternion is a combination q = q0 + e*qe where e is the dual identity element (e^2 = 0) For the background, read "Preliminary Sketch of Biquaternions" [W Clifford, 1873].
More...
#include <csgeom/dualquaternion.h>
List of all members.
|
Public Member Functions |
void | Conjugate () |
| Set this dual quaternion to its own conjugate.
|
| csDualQuaternion (const csDualQuaternion &q) |
| Copy-constructor.
|
| csDualQuaternion (const csQuaternion &real, const csVector3 &t) |
| Construct from quaternion and a vector.
|
| csDualQuaternion (const csQuaternion &real) |
| Construct from quaternion (pure rotation).
|
| csDualQuaternion (const csQuaternion &real, const csQuaternion &dual) |
| Initialize with given values.
|
| csDualQuaternion () |
| Initialize with identity.
|
csDualNumber | Dot (const csDualQuaternion &q) const |
| Return euclidian inner-product (dot).
|
csDualQuaternion | GetConjugate () const |
| Get the conjugate dual quaternion.
|
csDualQuaternion | GetInverse () const |
| Get the inverse dual quaternion.
|
csDualNumber | Norm () const |
| Get the norm of this quaternion.
|
csDualQuaternion & | operator*= (float f) |
| Multiply by scalar.
|
csDualQuaternion & | operator*= (const csDualQuaternion &q) |
| Multiply this quaternion by another.
|
csDualQuaternion & | operator+= (const csDualQuaternion &q) |
| Add dual quaternion to this one.
|
csDualQuaternion & | operator-= (const csDualQuaternion &q) |
| Subtract dual quaternion from this one.
|
csDualQuaternion & | operator/= (float f) |
| v by scalar
|
void | SetIdentity () |
| Set quaternion to identity rotation and no rotation.
|
csVector3 | Transform (const csVector3 &v) const |
| Transform a vector by a dual quaternion.
|
csVector3 | TransformPoint (const csVector3 &v) const |
| Transform a vector by a dual quaternion as if the vector is a position.
|
csDualQuaternion | Unit () const |
| Return a unit-length version of this dual quaternion Attempting to normalize a dual quaternion with zero-norm real part will result in a divide by zero error.
|
Public Attributes |
csQuaternion | dual |
| The dual part, representing translational component.
|
csQuaternion | real |
| The real part, representing rotational component.
|
Friends |
csDualQuaternion | operator* (float f, const csDualQuaternion &q) |
| Multiply by scalar.
|
csDualQuaternion | operator* (const csDualQuaternion &q, float f) |
| Multiply by scalar.
|
csDualQuaternion | operator* (const csDualQuaternion &q1, const csDualQuaternion &q2) |
| Multiply two dual quaternions.
|
csDualQuaternion | operator+ (const csDualQuaternion &q1, const csDualQuaternion &q2) |
| Add two dual quaternions.
|
csDualQuaternion | operator- (const csDualQuaternion &q) |
| Get the negative dual quaternion (unary minus).
|
csDualQuaternion | operator- (const csDualQuaternion &q1, const csDualQuaternion &q2) |
| Subtract two dual quaternions.
|
csDualQuaternion | operator/ (float f, const csDualQuaternion &q) |
| Divide by scalar.
|
csDualQuaternion | operator/ (const csDualQuaternion &q, float f) |
| Divide by scalar.
|
Detailed Description
Dual quaternion is a combination q = q0 + e*qe where e is the dual identity element (e^2 = 0) For the background, read "Preliminary Sketch of Biquaternions" [W Clifford, 1873].
Definition at line 46 of file dualquaternion.h.
Constructor & Destructor Documentation
csDualQuaternion::csDualQuaternion |
( |
|
) |
[inline] |
csDualQuaternion::csDualQuaternion |
( |
const csQuaternion & |
real |
) |
[inline] |
Construct from quaternion (pure rotation).
Definition at line 62 of file dualquaternion.h.
Member Function Documentation
void csDualQuaternion::Conjugate |
( |
|
) |
[inline] |
Set this dual quaternion to its own conjugate.
Definition at line 188 of file dualquaternion.h.
Get the inverse dual quaternion.
Inverse is only defined when the real part is non-zero.
Definition at line 239 of file dualquaternion.h.
void csDualQuaternion::SetIdentity |
( |
|
) |
[inline] |
Set quaternion to identity rotation and no rotation.
Definition at line 78 of file dualquaternion.h.
Transform a vector by a dual quaternion as if the vector is a position.
Definition at line 252 of file dualquaternion.h.
Return a unit-length version of this dual quaternion Attempting to normalize a dual quaternion with zero-norm real part will result in a divide by zero error.
This is as it should be... fix the calling code.
Definition at line 212 of file dualquaternion.h.
Friends And Related Function Documentation
Get the negative dual quaternion (unary minus).
Definition at line 115 of file dualquaternion.h.
Member Data Documentation
The dual part, representing translational component.
Definition at line 276 of file dualquaternion.h.
The real part, representing rotational component.
Definition at line 273 of file dualquaternion.h.
The documentation for this class was generated from the following file: