#include <OgreQuaternion.h>
Public Methods | |
Quaternion (Real fW=1.0, Real fX=0.0, Real fY=0.0, Real fZ=0.0) | |
Quaternion (const Quaternion &rkQ) | |
Quaternion (const Matrix3 &rot) | |
Construct a quaternion from a rotation matrix. | |
Quaternion (const Radian &rfAngle, const Vector3 &rkAxis) | |
Construct a quaternion from an angle/axis. | |
Quaternion (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) | |
Construct a quaternion from 3 orthonormal local axes. | |
Quaternion (Vector3 *akAxis) | |
Construct a quaternion from 3 orthonormal local axes. | |
void | FromRotationMatrix (const Matrix3 &kRot) |
void | ToRotationMatrix (Matrix3 &kRot) const |
void | FromAngleAxis (const Radian &rfAngle, const Vector3 &rkAxis) |
void | ToAngleAxis (Radian &rfAngle, Vector3 &rkAxis) const |
void | ToAngleAxis (Degree &dAngle, Vector3 &rkAxis) const |
void | FromAxes (const Vector3 *akAxis) |
void | FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) |
void | ToAxes (Vector3 *akAxis) const |
void | ToAxes (Vector3 &xAxis, Vector3 &yAxis, Vector3 &zAxis) const |
Vector3 | xAxis (void) const |
Get the local x-axis. | |
Vector3 | yAxis (void) const |
Get the local y-axis. | |
Vector3 | zAxis (void) const |
Get the local z-axis. | |
Quaternion & | operator= (const Quaternion &rkQ) |
Quaternion | operator+ (const Quaternion &rkQ) const |
Quaternion | operator- (const Quaternion &rkQ) const |
Quaternion | operator * (const Quaternion &rkQ) const |
Quaternion | operator * (Real fScalar) const |
Quaternion | operator- () const |
bool | operator== (const Quaternion &rhs) const |
Real | Dot (const Quaternion &rkQ) const |
Real | Norm () const |
Real | normalise (void) |
Normalises this quaternion, and returns the previous length. | |
Quaternion | Inverse () const |
Quaternion | UnitInverse () const |
Quaternion | Exp () const |
Quaternion | Log () const |
Vector3 | operator * (const Vector3 &rkVector) const |
Radian | getRoll (void) const |
Calculate the local roll element of this quaternion. | |
Radian | getPitch (void) const |
Calculate the local pitch element of this quaternion. | |
Radian | getYaw (void) const |
Calculate the local yaw element of this quaternion. | |
Static Public Methods | |
Quaternion | Slerp (Real fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false) |
Quaternion | SlerpExtraSpins (Real fT, const Quaternion &rkP, const Quaternion &rkQ, int iExtraSpins) |
void | Intermediate (const Quaternion &rkQ0, const Quaternion &rkQ1, const Quaternion &rkQ2, Quaternion &rka, Quaternion &rkB) |
Quaternion | Squad (Real fT, const Quaternion &rkP, const Quaternion &rkA, const Quaternion &rkB, const Quaternion &rkQ, bool shortestPath=false) |
Quaternion | nlerp (Real fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false) |
Public Attributes | |
Real | w |
Real | x |
Real | y |
Real | z |
Static Public Attributes | |
const Real | ms_fEpsilon = 1e-03 |
const Quaternion | ZERO |
const Quaternion | IDENTITY |
Friends | |
_OgreExport friend Quaternion | operator * (Real fScalar, const Quaternion &rkQ) |
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const Quaternion &q) |
Function for writing to a stream. |
a rotation around an axis.
Definition at line 49 of file OgreQuaternion.h.
|
Definition at line 52 of file OgreQuaternion.h. References Ogre::Real. Referenced by Inverse(), operator *(), operator+(), operator-(), and UnitInverse(). |
|
Definition at line 61 of file OgreQuaternion.h. |
|
Construct a quaternion from a rotation matrix.
Definition at line 69 of file OgreQuaternion.h. |
|
Construct a quaternion from an angle/axis.
Definition at line 74 of file OgreQuaternion.h. |
|
Construct a quaternion from 3 orthonormal local axes.
Definition at line 85 of file OgreQuaternion.h. |
|
Construct a quaternion from 3 orthonormal local axes.
Definition at line 90 of file OgreQuaternion.h. |
|
Definition at line 312 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. Referenced by Slerp(), and SlerpExtraSpins(). |
|
Definition at line 343 of file OgreQuaternion.cpp. References ms_fEpsilon, Ogre::Real, Ogre::Radian::valueRadians(), w, x, y, and z. Referenced by Intermediate(), and Ogre::RotationalSpline::recalcTangents(). |
|
Definition at line 119 of file OgreQuaternion.cpp. References Ogre::Real, w, Ogre::Vector3::x, x, Ogre::Vector3::y, y, Ogre::Vector3::z, and z. Referenced by Ogre::Quake3Shader::createAsMaterial(), Ogre::BspLevel::loadEntities(), Ogre::Vector3::randomDeviant(), Ogre::Node::rotate(), Ogre::Camera::rotate(), Ogre::SceneNode::setDirection(), and Ogre::Camera::setDirection(). |
|
Definition at line 173 of file OgreQuaternion.cpp. References FromRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Definition at line 159 of file OgreQuaternion.cpp. References FromRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::SceneManager::prepareShadowTextures(), Ogre::SceneNode::setDirection(), and Ogre::Camera::setDirection(). |
|
Definition at line 53 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. Referenced by FromAxes(). |
|
Calculate the local pitch element of this quaternion.
Definition at line 501 of file OgreQuaternion.cpp. |
|
Calculate the local roll element of this quaternion.
Definition at line 496 of file OgreQuaternion.cpp. |
|
Calculate the local yaw element of this quaternion.
Definition at line 506 of file OgreQuaternion.cpp. |
|
Definition at line 461 of file OgreQuaternion.cpp. References Exp(), Log(), and UnitInverse(). |
|
Definition at line 322 of file OgreQuaternion.cpp. References Quaternion(), Ogre::Real, w, x, y, z, and ZERO. Referenced by Ogre::ParticleSystem::_updateBounds(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::BillboardSet::genBillboardAxes(), Ogre::Node::makeInverseTransform(), Ogre::RotationalSpline::recalcTangents(), Ogre::Node::rotate(), Ogre::SceneNode::setDirection(), and Ogre::Node::translate(). |
|
Definition at line 372 of file OgreQuaternion.cpp. References ms_fEpsilon, Ogre::Real, Ogre::Radian::valueRadians(), w, x, y, and z. Referenced by Intermediate(), and Ogre::RotationalSpline::recalcTangents(). |
|
Definition at line 511 of file OgreQuaternion.cpp. References normalise(), and Ogre::Real. |
|
Definition at line 317 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. Referenced by normalise(). |
|
Normalises this quaternion, and returns the previous length.
Definition at line 488 of file OgreQuaternion.cpp. References Norm(), and Ogre::Real. |
|
Definition at line 402 of file OgreQuaternion.cpp. References Ogre::Vector3::crossProduct(), w, x, y, and z. |
|
Definition at line 296 of file OgreQuaternion.cpp. References Quaternion(), Ogre::Real, w, x, y, and z. |
|
Definition at line 282 of file OgreQuaternion.cpp. |
|
Definition at line 272 of file OgreQuaternion.cpp. References Quaternion(), w, x, y, and z. |
|
Definition at line 307 of file OgreQuaternion.cpp. References Quaternion(), w, x, y, and z. |
|
Definition at line 277 of file OgreQuaternion.cpp. References Quaternion(), w, x, y, and z. |
|
Definition at line 125 of file OgreQuaternion.h. |
|
Definition at line 140 of file OgreQuaternion.h. |
|
Definition at line 416 of file OgreQuaternion.cpp. References Dot(), ms_fEpsilon, normalise(), Ogre::Real, and Ogre::Radian::valueRadians(). Referenced by Squad(). |
|
Definition at line 444 of file OgreQuaternion.cpp. References Dot(), ms_fEpsilon, Ogre::Real, and Ogre::Radian::valueRadians(). |
|
Definition at line 478 of file OgreQuaternion.cpp. References Ogre::Real, and Slerp(). |
|
Definition at line 99 of file OgreQuaternion.h. |
|
Definition at line 135 of file OgreQuaternion.cpp. References Ogre::Real, w, Ogre::Vector3::x, x, Ogre::Vector3::y, y, Ogre::Vector3::z, and z. Referenced by Ogre::Skeleton::_dumpContents(). |
|
Definition at line 252 of file OgreQuaternion.cpp. References ToRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Definition at line 193 of file OgreQuaternion.cpp. References ToRotationMatrix(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by Ogre::SceneNode::setDirection(), and Ogre::Camera::setDirection(). |
|
Definition at line 93 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. Referenced by Ogre::Node::makeInverseTransform(), Ogre::Node::makeTransform(), ToAxes(), and Ogre::Frustum::updateView(). |
|
Definition at line 337 of file OgreQuaternion.cpp. References Quaternion(), w, x, y, and z. Referenced by Intermediate(). |
|
Get the local x-axis.
Definition at line 207 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. |
|
Get the local y-axis.
Definition at line 222 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. |
|
Get the local z-axis.
Definition at line 237 of file OgreQuaternion.cpp. References Ogre::Real, w, x, y, and z. |
|
Definition at line 301 of file OgreQuaternion.cpp. |
|
Function for writing to a stream.
Definition at line 199 of file OgreQuaternion.h. |
|
|
|
Definition at line 48 of file OgreQuaternion.cpp. Referenced by Exp(), Log(), Slerp(), and SlerpExtraSpins(). |
|
Definition at line 194 of file OgreQuaternion.h. Referenced by Dot(), Exp(), FromAngleAxis(), FromRotationMatrix(), getPitch(), getRoll(), Ogre::Vector3::getRotationTo(), getYaw(), Inverse(), Log(), Norm(), Ogre::operator *(), operator *(), operator+(), operator-(), operator=(), operator==(), Quaternion(), Ogre::Serializer::readObject(), Ogre::Node::setOrientation(), ToAngleAxis(), ToRotationMatrix(), Ogre::StringConverter::toString(), UnitInverse(), Ogre::Serializer::writeObject(), xAxis(), yAxis(), and zAxis(). |
|
Definition at line 194 of file OgreQuaternion.h. Referenced by Dot(), Exp(), FromAngleAxis(), FromRotationMatrix(), getPitch(), getRoll(), Ogre::Vector3::getRotationTo(), getYaw(), Inverse(), Log(), Norm(), Ogre::operator *(), operator *(), operator+(), operator-(), operator=(), operator==(), Quaternion(), Ogre::Serializer::readObject(), Ogre::Node::setOrientation(), ToAngleAxis(), ToRotationMatrix(), Ogre::StringConverter::toString(), UnitInverse(), Ogre::Serializer::writeObject(), xAxis(), yAxis(), and zAxis(). |
|
Definition at line 194 of file OgreQuaternion.h. Referenced by Dot(), Exp(), FromAngleAxis(), FromRotationMatrix(), getPitch(), getRoll(), Ogre::Vector3::getRotationTo(), getYaw(), Inverse(), Log(), Norm(), Ogre::operator *(), operator *(), operator+(), operator-(), operator=(), operator==(), Quaternion(), Ogre::Serializer::readObject(), Ogre::Node::setOrientation(), ToAngleAxis(), ToRotationMatrix(), Ogre::StringConverter::toString(), UnitInverse(), Ogre::Serializer::writeObject(), xAxis(), yAxis(), and zAxis(). |
|
Definition at line 194 of file OgreQuaternion.h. Referenced by Dot(), Exp(), FromAngleAxis(), FromRotationMatrix(), getPitch(), getRoll(), Ogre::Vector3::getRotationTo(), getYaw(), Inverse(), Log(), Norm(), Ogre::operator *(), operator *(), operator+(), operator-(), operator=(), operator==(), Quaternion(), Ogre::Serializer::readObject(), Ogre::Node::setOrientation(), ToAngleAxis(), ToRotationMatrix(), Ogre::StringConverter::toString(), UnitInverse(), Ogre::Serializer::writeObject(), xAxis(), yAxis(), and zAxis(). |
|
Referenced by Inverse(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:27 2004