Sirikata
|
#include <Quaternion.hpp>
Classes | |
class | WXYZ |
class | XYZW |
Public Types | |
typedef float | scalar |
Public Member Functions | |
Quaternion () | |
Quaternion (scalar x, scalar y, scalar z, scalar w) | |
Quaternion (scalar x, scalar y, scalar z, scalar w, XYZW convention) | |
Quaternion (scalar w, scalar x, scalar y, scalar z, WXYZ convention) | |
Quaternion (const Vector3< scalar > &axis, scalar angle) | |
Quaternion (const Vector3< scalar > &xAxis, const Vector3< scalar > &yAxis, const Vector3< scalar > &zAxis) | |
Quaternion (const Matrix3x3< Quaternion::scalar > &kRot) | |
void | toAngleAxis (scalar &returnAngleRadians, Vector3< scalar > &returnAxis) const |
Quaternion | normal () const |
Quaternion | operator+ (const Quaternion &other) const |
Quaternion | operator- (const Quaternion &other) const |
Quaternion | operator- () const |
Quaternion | operator* (scalar other) const |
Quaternion | operator/ (scalar other) const |
Quaternion | operator* (const Quaternion &other) const |
template<typename myscalar > | |
Vector3< myscalar > | operator* (const Vector3< myscalar > &other) const |
Quaternion | inverse () const |
Vector3< scalar > | xAxis () const |
Vector3< scalar > | yAxis () const |
Vector3< scalar > | zAxis () const |
void | toAxes (Vector3< scalar > &xAxis, Vector3< scalar > &yAxis, Vector3< scalar > &zAxis) const |
Quaternion | exp (float32 n) const |
Raise the quaternion to a power (i.e. | |
Static Public Member Functions | |
static Quaternion | identity () |
static Quaternion | zero () |
Private Member Functions | |
Quaternion (const Vector4< scalar > &value) | |
Static Private Member Functions | |
static void | ToRotationMatrix (const Quaternion &q, Matrix3x3< Quaternion::scalar > kRot) |
static void | FromRotationMatrix (Quaternion &q, const Matrix3x3< Quaternion::scalar > &kRot) |
Friends | |
Quaternion | operator* (scalar, const Quaternion &) |
Quaternion | operator/ (scalar, const Quaternion &) |
typedef float Sirikata::Quaternion::scalar |
Sirikata::Quaternion::Quaternion | ( | ) | [inline] |
Referenced by exp(), inverse(), normal(), operator*(), operator+(), operator-(), operator/(), and zero().
Sirikata::Quaternion::Quaternion | ( | scalar | x, |
scalar | y, | ||
scalar | z, | ||
scalar | w, | ||
XYZW | convention | ||
) | [inline] |
Sirikata::Quaternion::Quaternion | ( | scalar | w, |
scalar | x, | ||
scalar | y, | ||
scalar | z, | ||
WXYZ | convention | ||
) | [inline] |
Sirikata::Quaternion::Quaternion | ( | const Vector3< scalar > & | xAxis, |
const Vector3< scalar > & | yAxis, | ||
const Vector3< scalar > & | zAxis | ||
) | [inline] |
References FromRotationMatrix().
Sirikata::Quaternion::Quaternion | ( | const Matrix3x3< Quaternion::scalar > & | kRot | ) | [inline] |
References FromRotationMatrix().
Quaternion Sirikata::Quaternion::exp | ( | float32 | n | ) | const [inline] |
Raise the quaternion to a power (i.e.
apply the rotation n times).
n | the exponent |
References Quaternion(), and toAngleAxis().
Referenced by Sirikata::MotionQuaternion::extrapolatePosition().
static void Sirikata::Quaternion::FromRotationMatrix | ( | Quaternion & | q, |
const Matrix3x3< Quaternion::scalar > & | kRot | ||
) | [inline, static, private] |
References Sirikata::Vector4< scalar >::w, Sirikata::Vector4< scalar >::x, Sirikata::Vector4< scalar >::y, and Sirikata::Vector4< scalar >::z.
Referenced by Quaternion().
static Quaternion Sirikata::Quaternion::identity | ( | ) | [inline, static] |
References Sirikata::Vector4< scalar >::w, Sirikata::Vector4< scalar >::x, Sirikata::Vector4< scalar >::y, and Sirikata::Vector4< scalar >::z.
Referenced by Sirikata::JS::JSPositionListener::getOrientation(), Sirikata::JS::JSPositionListener::getOrientationVelocity(), Sirikata::ProxyObject::isStatic(), Sirikata::LocalPintoServerQuerier::notifyLocUpdate(), Sirikata::LocalPintoServerQuerier::notifyResult(), Sirikata::ManualPintoManager::queryHasEvents(), and Sirikata::BulletPhysicsService::updateObjectFromDeactivation().
Quaternion Sirikata::Quaternion::inverse | ( | ) | const [inline] |
Quaternion Sirikata::Quaternion::normal | ( | ) | const [inline] |
Reimplemented from Sirikata::Vector4< float >.
References Quaternion().
Referenced by Sirikata::Transform::Error::Error(), Sirikata::MotionQuaternion::extrapolatePosition(), Sirikata::AggregateManager::generateAggregateMeshAsync(), Sirikata::Graphics::Skybox::materialLoadFinished(), Sirikata::HostedObject::objectHostConnect(), and Sirikata::JS::JSPresence::setOrientation().
Quaternion Sirikata::Quaternion::operator* | ( | scalar | other | ) | const [inline] |
Reimplemented from Sirikata::Vector4< float >.
References Quaternion().
Quaternion Sirikata::Quaternion::operator* | ( | const Quaternion & | other | ) | const [inline] |
Quaternion Sirikata::Quaternion::operator+ | ( | const Quaternion & | other | ) | const [inline] |
References Quaternion().
Quaternion Sirikata::Quaternion::operator- | ( | ) | const [inline] |
Reimplemented from Sirikata::Vector4< float >.
References Quaternion().
Quaternion Sirikata::Quaternion::operator- | ( | const Quaternion & | other | ) | const [inline] |
References Quaternion().
Quaternion Sirikata::Quaternion::operator/ | ( | scalar | other | ) | const [inline] |
Reimplemented from Sirikata::Vector4< float >.
References Quaternion().
void Sirikata::Quaternion::toAngleAxis | ( | scalar & | returnAngleRadians, |
Vector3< scalar > & | returnAxis | ||
) | const [inline] |
References Sirikata::Vector4< float >::length(), Sirikata::Vector4< float >::w, Sirikata::Vector3< scalar >::x, Sirikata::Vector4< float >::x, Sirikata::Vector3< scalar >::y, Sirikata::Vector4< float >::y, Sirikata::Vector3< scalar >::z, and Sirikata::Vector4< float >::z.
Referenced by Sirikata::BulletRigidBodyObject::addRigidBody(), exp(), and Sirikata::JS::EmersonScript::restorePresence().
void Sirikata::Quaternion::toAxes | ( | Vector3< scalar > & | xAxis, |
Vector3< scalar > & | yAxis, | ||
Vector3< scalar > & | zAxis | ||
) | const [inline] |
References Sirikata::Matrix3x3< scalar >::getCol(), and ToRotationMatrix().
Referenced by Sirikata::ProxyObject::UpdateNeeded::operator()().
static void Sirikata::Quaternion::ToRotationMatrix | ( | const Quaternion & | q, |
Matrix3x3< Quaternion::scalar > | kRot | ||
) | [inline, static, private] |
References Sirikata::Vector4< scalar >::w, Sirikata::Vector4< scalar >::x, Sirikata::Vector4< scalar >::y, and Sirikata::Vector4< scalar >::z.
Referenced by toAxes().
static Quaternion Sirikata::Quaternion::zero | ( | ) | [inline, static] |
Quaternion operator* | ( | Quaternion::scalar | s, |
const Quaternion & | q | ||
) | [friend] |
Quaternion operator/ | ( | Quaternion::scalar | s, |
const Quaternion & | q | ||
) | [friend] |