KrisLibrary
1.0.0
|
"Moment", a.k.a. exponential map, 3D rotation parameterization More...
#include <rotation.h>
Public Member Functions | |
MomentRotation (const MomentRotation &) | |
MomentRotation (Real x, Real y, Real z) | |
MomentRotation (const Vector3 &v) | |
MomentRotation (const AngleAxisRotation &) | |
void | set (const MomentRotation &r) |
void | set (const Vector3 &v) |
void | set (Real x, Real y, Real z) |
void | setIdentity () |
void | transformPoint (const Vector3 &in, Vector3 &out) const |
bool | setMatrix (const Matrix3 &) |
void | getMatrix (Matrix3 &) const |
void | setAngleAxis (const AngleAxisRotation &) |
void | getAngleAxis (AngleAxisRotation &) const |
Public Member Functions inherited from Math3D::Vector3 | |
Vector3 (const Vector3 &) | |
Vector3 (Real x) | |
Vector3 (Real x, Real y, Real z) | |
Vector3 (const Real *data) | |
bool | operator== (const Vector3 &) const |
bool | operator!= (const Vector3 &) const |
const Vector3 & | operator= (const Vector3 &) |
void | operator+= (const Vector3 &) |
void | operator-= (const Vector3 &) |
void | operator*= (Real) |
void | operator/= (Real) |
Real & | operator[] (int) |
const Real & | operator[] (int) const |
operator Real * () | |
operator const Real * () const | |
void | add (const Vector3 &a, const Vector3 &b) |
void | sub (const Vector3 &a, const Vector3 &b) |
void | mul (const Vector3 &a, Real) |
void | div (const Vector3 &a, Real) |
void | madd (const Vector3 &b, Real) |
Real | dot (const Vector3 &a) const |
Real | distance (const Vector3 &a) const |
Real | distanceSquared (const Vector3 &a) const |
Real | norm () const |
Real | normSquared () const |
Real | length () const |
= norm | |
Real | minElement (int *index=NULL) const |
Real | maxElement (int *index=NULL) const |
Real | minAbsElement (int *index=NULL) const |
Real | maxAbsElement (int *index=NULL) const |
void | set (const Vector3 &) |
void | set (Real x) |
void | set (Real x, Real y, Real z) |
void | set (const Real *data) |
void | setZero () |
void | setNegative (const Vector3 &) |
void | setCross (const Vector3 &, const Vector3 &) |
void | setNormalized (const Vector3 &) |
void | setProjection (const Vector3 &, const Vector3 &) |
void | setMinimum (const Vector3 &, const Vector3 &) |
void | setMinimum (const Vector3 &) |
void | setMaximum (const Vector3 &, const Vector3 &) |
void | setMaximum (const Vector3 &) |
void | get (Vector3 &) const |
void | get (Real &x, Real &y, Real &z) const |
void | get (Real data[3]) const |
void | getNegative (Vector3 &) const |
void | getNormalized (Vector3 &) const |
void | getOrthogonalBasis (Vector3 &xb, Vector3 &yb) const |
calculates two unit vectors orthogonal to this vector (and positively oriented) | |
void | inplaceNegative () |
void | inplaceMul (Real) |
void | inplaceDiv (Real) |
void | inplaceNormalize () |
bool | isZero (Real eps=Zero) const |
bool | isEqual (const Vector3 &, Real eps=Zero) const |
bool | Read (File &) |
bool | Write (File &) const |
Additional Inherited Members | |
Public Attributes inherited from Math3D::Vector3 | |
union { | |
Real data [3] | |
struct { | |
Real x | |
Real y | |
Real z | |
} | |
}; | |
"Moment", a.k.a. exponential map, 3D rotation parameterization
Represents a rotation R = e^[w] using the 3D vector w. (Here [w] denotes the cross product matrix of w).
|w| is the angle of rotation, and w/|w| is the axis.