Quaternion used locally by InterpMotion. More...
#include <transform.h>
Public Member Functions | |
Quaternion3f & | conj () |
conjugate | |
FCL_REAL | dot (const Quaternion3f &other) const |
Dot product between quaternions. | |
void | fromAxes (const Vec3f axis[3]) |
Axes to quaternion. | |
void | fromAxisAngle (const Vec3f &axis, FCL_REAL angle) |
Axis and angle to quaternion. | |
void | fromRotation (const Matrix3f &R) |
Matrix to quaternion. | |
Vec3f | getColumn (std::size_t i) const |
Vec3f | getRow (std::size_t i) const |
const FCL_REAL & | getW () const |
FCL_REAL & | getW () |
const FCL_REAL & | getX () const |
FCL_REAL & | getX () |
const FCL_REAL & | getY () const |
FCL_REAL & | getY () |
const FCL_REAL & | getZ () const |
FCL_REAL & | getZ () |
Quaternion3f & | inverse () |
inverse | |
bool | isIdentity () const |
Whether the rotation is identity. | |
Quaternion3f | operator* (const Quaternion3f &other) const |
multiplication | |
Quaternion3f | operator* (FCL_REAL t) const |
scalar multiplication | |
const Quaternion3f & | operator*= (const Quaternion3f &other) |
const Quaternion3f & | operator*= (FCL_REAL t) |
Quaternion3f | operator+ (const Quaternion3f &other) const |
addition | |
const Quaternion3f & | operator+= (const Quaternion3f &other) |
Quaternion3f | operator- (const Quaternion3f &other) const |
minus | |
Quaternion3f | operator- () const |
division | |
const Quaternion3f & | operator-= (const Quaternion3f &other) |
Quaternion3f () | |
Default quaternion is identity rotation. | |
Quaternion3f (FCL_REAL a, FCL_REAL b, FCL_REAL c, FCL_REAL d) | |
void | toAxes (Vec3f axis[3]) const |
Axes to matrix. | |
void | toAxisAngle (Vec3f &axis, FCL_REAL &angle) const |
Quaternion to axis and angle. | |
void | toRotation (Matrix3f &R) const |
Quaternion to matrix. | |
Vec3f | transform (const Vec3f &v) const |
rotate a vector | |
Private Attributes | |
FCL_REAL | data [4] |
Quaternion used locally by InterpMotion.
Definition at line 48 of file transform.h.
fcl::Quaternion3f::Quaternion3f | ( | ) | [inline] |
Default quaternion is identity rotation.
Definition at line 52 of file transform.h.
fcl::Quaternion3f::Quaternion3f | ( | FCL_REAL | a, |
FCL_REAL | b, | ||
FCL_REAL | c, | ||
FCL_REAL | d | ||
) | [inline] |
Definition at line 60 of file transform.h.
conjugate
Definition at line 283 of file transform.cpp.
FCL_REAL fcl::Quaternion3f::dot | ( | const Quaternion3f & | other | ) | const |
Dot product between quaternions.
Definition at line 202 of file transform.cpp.
void fcl::Quaternion3f::fromAxes | ( | const Vec3f | axis[3] | ) |
Axes to quaternion.
Definition at line 106 of file transform.cpp.
void fcl::Quaternion3f::fromAxisAngle | ( | const Vec3f & | axis, |
FCL_REAL | angle | ||
) |
Axis and angle to quaternion.
Definition at line 172 of file transform.cpp.
void fcl::Quaternion3f::fromRotation | ( | const Matrix3f & | R | ) |
Matrix to quaternion.
Definition at line 43 of file transform.cpp.
Vec3f fcl::Quaternion3f::getColumn | ( | std::size_t | i | ) | const |
Definition at line 330 of file transform.cpp.
Vec3f fcl::Quaternion3f::getRow | ( | std::size_t | i | ) | const |
Definition at line 351 of file transform.cpp.
const FCL_REAL& fcl::Quaternion3f::getW | ( | ) | const [inline] |
Definition at line 123 of file transform.h.
FCL_REAL& fcl::Quaternion3f::getW | ( | ) | [inline] |
Definition at line 128 of file transform.h.
const FCL_REAL& fcl::Quaternion3f::getX | ( | ) | const [inline] |
Definition at line 124 of file transform.h.
FCL_REAL& fcl::Quaternion3f::getX | ( | ) | [inline] |
Definition at line 129 of file transform.h.
const FCL_REAL& fcl::Quaternion3f::getY | ( | ) | const [inline] |
Definition at line 125 of file transform.h.
FCL_REAL& fcl::Quaternion3f::getY | ( | ) | [inline] |
Definition at line 130 of file transform.h.
const FCL_REAL& fcl::Quaternion3f::getZ | ( | ) | const [inline] |
Definition at line 126 of file transform.h.
FCL_REAL& fcl::Quaternion3f::getZ | ( | ) | [inline] |
Definition at line 131 of file transform.h.
inverse
Definition at line 291 of file transform.cpp.
bool fcl::Quaternion3f::isIdentity | ( | ) | const [inline] |
Whether the rotation is identity.
Definition at line 69 of file transform.h.
Quaternion3f fcl::Quaternion3f::operator* | ( | const Quaternion3f & | other | ) | const |
multiplication
Definition at line 239 of file transform.cpp.
Quaternion3f fcl::Quaternion3f::operator* | ( | FCL_REAL | t | ) | const |
scalar multiplication
Definition at line 267 of file transform.cpp.
const Quaternion3f & fcl::Quaternion3f::operator*= | ( | const Quaternion3f & | other | ) |
Definition at line 248 of file transform.cpp.
const Quaternion3f & fcl::Quaternion3f::operator*= | ( | FCL_REAL | t | ) |
Definition at line 272 of file transform.cpp.
Quaternion3f fcl::Quaternion3f::operator+ | ( | const Quaternion3f & | other | ) | const |
addition
Definition at line 207 of file transform.cpp.
const Quaternion3f & fcl::Quaternion3f::operator+= | ( | const Quaternion3f & | other | ) |
Definition at line 213 of file transform.cpp.
Quaternion3f fcl::Quaternion3f::operator- | ( | const Quaternion3f & | other | ) | const |
minus
Definition at line 223 of file transform.cpp.
Quaternion3f fcl::Quaternion3f::operator- | ( | ) | const |
division
Definition at line 262 of file transform.cpp.
const Quaternion3f & fcl::Quaternion3f::operator-= | ( | const Quaternion3f & | other | ) |
Definition at line 229 of file transform.cpp.
void fcl::Quaternion3f::toAxes | ( | Vec3f | axis[3] | ) | const |
Axes to matrix.
Definition at line 151 of file transform.cpp.
void fcl::Quaternion3f::toAxisAngle | ( | Vec3f & | axis, |
FCL_REAL & | angle | ||
) | const |
Quaternion to axis and angle.
Definition at line 182 of file transform.cpp.
void fcl::Quaternion3f::toRotation | ( | Matrix3f & | R | ) | const |
Quaternion to matrix.
Definition at line 85 of file transform.cpp.
Vec3f fcl::Quaternion3f::transform | ( | const Vec3f & | v | ) | const |
rotate a vector
Definition at line 312 of file transform.cpp.
FCL_REAL fcl::Quaternion3f::data[4] [private] |
Definition at line 139 of file transform.h.