#include <llquaternion.h>
Definition at line 50 of file llquaternion.h.
enum LLQuaternion::Order |
LLQuaternion::LLQuaternion | ( | void | ) | [inline] |
Definition at line 193 of file llquaternion.h.
References mQ, VS, VX, VY, and VZ.
Referenced by operator*(), operator+(), and operator-().
LLQuaternion::LLQuaternion | ( | const LLMatrix4 & | mat | ) | [explicit] |
Definition at line 51 of file llquaternion.cpp.
References normalize(), and LLMatrix4::quaternion().
LLQuaternion::LLQuaternion | ( | const LLMatrix3 & | mat | ) | [explicit] |
Definition at line 57 of file llquaternion.cpp.
References normalize(), and LLMatrix3::quaternion().
Definition at line 63 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, LLVector4::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
Definition at line 79 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
LLQuaternion::LLQuaternion | ( | const F32 * | q | ) | [inline] |
Definition at line 218 of file llquaternion.h.
References mQ, normalize(), VS, VW, VX, VY, and VZ.
LLQuaternion::LLQuaternion | ( | const LLVector3 & | x_axis, | |
const LLVector3 & | y_axis, | |||
const LLVector3 & | z_axis | |||
) |
Definition at line 95 of file llquaternion.cpp.
References normalize(), LLMatrix3::quaternion(), and LLMatrix3::setRows().
BOOL LLQuaternion::isIdentity | ( | ) | const [inline] |
Definition at line 173 of file llquaternion.h.
References mQ, VS, VX, VY, and VZ.
Referenced by run_jumpif(), and run_jumpnif().
BOOL LLQuaternion::isNotIdentity | ( | ) | const [inline] |
BOOL LLQuaternion::isFinite | ( | ) | const [inline] |
Definition at line 168 of file llquaternion.h.
References llfinite, mQ, VS, VX, VY, and VZ.
Referenced by LLEditingMotion::onUpdate(), LLXform::setRotation(), and LLJoint::setRotation().
Definition at line 106 of file llquaternion.cpp.
References F32_to_U16_ROUND(), mQ, normQuat(), U16_to_F32(), VS, VX, VY, and VZ.
Definition at line 126 of file llquaternion.cpp.
References F32_to_U8_ROUND(), mQ, normQuat(), U8_to_F32(), VS, VX, VY, and VZ.
void LLQuaternion::loadIdentity | ( | ) | [inline] |
Definition at line 235 of file llquaternion.h.
References mQ, VW, VX, VY, and VZ.
Referenced by LLSelectMgr::getGrid(), LLTemplateMessageReader::getQuat(), LLXform::init(), LLPrimitive::LLPrimitive(), LLKeyframeStandMotion::onActivate(), LLHeadRotMotion::onInitialize(), LLEyeMotion::onUpdate(), LLBVHLoader::serialize(), LLXform::setRotation(), and shortestArc().
const LLQuaternion & LLQuaternion::set | ( | F32 | x, | |
F32 | y, | |||
F32 | z, | |||
F32 | w | |||
) | [inline] |
Definition at line 244 of file llquaternion.h.
References mQ, normalize(), VS, VX, VY, and VZ.
Referenced by parseQuat().
const LLQuaternion & LLQuaternion::set | ( | const LLQuaternion & | quat | ) | [inline] |
Definition at line 254 of file llquaternion.h.
References mQ, normalize(), VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::set | ( | const F32 * | q | ) | [inline] |
Definition at line 264 of file llquaternion.h.
References mQ, normalize(), VS, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::set | ( | const LLMatrix3 & | mat | ) |
Definition at line 208 of file llquaternion.cpp.
References normalize(), and LLMatrix3::quaternion().
const LLQuaternion & LLQuaternion::set | ( | const LLMatrix4 & | mat | ) |
Definition at line 216 of file llquaternion.cpp.
References normalize(), and LLMatrix4::quaternion().
const LLQuaternion & LLQuaternion::setAngleAxis | ( | F32 | angle, | |
F32 | x, | |||
F32 | y, | |||
F32 | z | |||
) |
Definition at line 141 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
Referenced by shortestArc().
const LLQuaternion & LLQuaternion::setAngleAxis | ( | F32 | angle, | |
const LLVector3 & | vec | |||
) |
Definition at line 160 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setAngleAxis | ( | F32 | angle, | |
const LLVector4 & | vec | |||
) |
Definition at line 179 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, LLVector4::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setEulerAngles | ( | F32 | roll, | |
F32 | pitch, | |||
F32 | yaw | |||
) |
Definition at line 197 of file llquaternion.cpp.
References normalize(), LLMatrix3::orthogonalize(), and LLMatrix3::quaternion().
const LLQuaternion & LLQuaternion::setQuatInit | ( | F32 | x, | |
F32 | y, | |||
F32 | z, | |||
F32 | w | |||
) | [inline] |
Definition at line 276 of file llquaternion.h.
References mQ, normalize(), VS, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | const LLQuaternion & | quat | ) | [inline] |
Definition at line 287 of file llquaternion.h.
References mQ, normalize(), VW, VX, VY, and VZ.
Referenced by LLToolPlacer::addObject(), LLViewerJoystick::agentRotate(), LLVOVolume::animateTextures(), LLViewerObject::applyAngularVelocity(), LLVolumeImplFlexible::doFlexibleUpdate(), LLPath::genNGon(), LLViewerObject::idleUpdate(), LLVOAvatar::loadSkeletonNode(), LLViewerWindow::mouseDirectionCamera(), LLBodyNoiseMotion::onUpdate(), LLEyeMotion::onUpdate(), LLMatrix4::quaternion(), LLMatrix3::quaternion(), LLSelectMgr::selectionMove(), LLPanelObject::sendRotation(), LLVolumeImplFlexible::setAttributesOfAllSections(), LLXform::setRotation(), LLJointSolverRP3::solve(), and LLViewerPartSourceScript::update().
const LLQuaternion & LLQuaternion::setQuat | ( | const F32 * | q | ) | [inline] |
Definition at line 298 of file llquaternion.h.
References mQ, normalize(), VS, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | const LLMatrix3 & | mat | ) |
Definition at line 291 of file llquaternion.cpp.
References normalize(), and LLMatrix3::quaternion().
const LLQuaternion & LLQuaternion::setQuat | ( | const LLMatrix4 & | mat | ) |
Definition at line 298 of file llquaternion.cpp.
References normalize(), and LLMatrix4::quaternion().
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
F32 | x, | |||
F32 | y, | |||
F32 | z | |||
) |
Definition at line 224 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
const LLVector3 & | vec | |||
) |
Definition at line 244 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
const LLVector4 & | vec | |||
) |
Definition at line 263 of file llquaternion.cpp.
References cosf, mQ, LLVector3::mV, LLVector4::mV, normalize(), LLVector3::normalize(), sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | roll, | |
F32 | pitch, | |||
F32 | yaw | |||
) |
Definition at line 281 of file llquaternion.cpp.
References normalize(), LLMatrix3::orthogonalize(), and LLMatrix3::quaternion().
LLMatrix4 LLQuaternion::getMatrix4 | ( | void | ) | const |
Definition at line 389 of file llquaternion.cpp.
LLMatrix3 LLQuaternion::getMatrix3 | ( | void | ) | const |
Definition at line 357 of file llquaternion.cpp.
References LLMatrix3::mMatrix, mQ, VW, VX, VY, and VZ.
Referenced by LLMatrix3::setRot(), and LLVOAvatar::updateCharacter().
Definition at line 311 of file llquaternion.h.
References F_PI, mQ, VW, VX, VY, and VZ.
Referenced by LLVolumeImplFlexible::doFlexibleUpdate(), LLManipTranslate::highlightIntersection(), hud_render_text(), LLManipScale::render(), LLManipRotate::render(), LLManip::renderGuidelines(), LLManipTranslate::renderSnapGuides(), LLManipRotate::renderSnapGuides(), LLManipTranslate::renderTranslationHandles(), rotate_quat(), LLFollowCam::updateBehindnessConstraint(), and LLViewerCamera::updateCameraLocation().
Definition at line 843 of file llquaternion.cpp.
Definition at line 882 of file llquaternion.cpp.
References LLMatrix3::getEulerAngles(), and LLMatrix3::orthogonalize().
Referenced by LLPanelObject::getState(), LLEyeMotion::onUpdate(), LLManipRotate::render(), and LLVOAvatar::updateCharacter().
F32 LLQuaternion::normalize | ( | ) | [inline] |
Definition at line 471 of file llquaternion.h.
References FP_MAG_THRESHOLD, mQ, sqrtf, VS, VX, VY, and VZ.
Referenced by lerp(), LLQuaternion(), set(), setAngleAxis(), setEulerAngles(), setQuat(), and setQuatInit().
F32 LLQuaternion::normQuat | ( | ) | [inline] |
Definition at line 495 of file llquaternion.h.
References FP_MAG_THRESHOLD, mQ, sqrtf, VS, VX, VY, and VZ.
Referenced by LLKeyframeStandMotion::onUpdate(), LLViewerObject::processUpdateMessage(), quantize16(), and quantize8().
const LLQuaternion & LLQuaternion::conjugate | ( | void | ) | [inline] |
const LLQuaternion & LLQuaternion::conjQuat | ( | void | ) | [inline] |
Definition at line 356 of file llquaternion.h.
References mQ, VX, VY, and VZ.
Referenced by operator~(), quaternion_quaternion_operation(), ray_box(), LLManipTranslate::renderTranslationHandles(), and LLToolGrab::startGrab().
const LLQuaternion & LLQuaternion::transpose | ( | ) | [inline] |
const LLQuaternion & LLQuaternion::transQuat | ( | ) | [inline] |
Definition at line 374 of file llquaternion.h.
References mQ, VX, VY, and VZ.
Referenced by LLManipRotate::drag(), LLManipTranslate::handleHover(), LLKeyframeFallMotion::onActivate(), LLEyeMotion::onUpdate(), LLViewerObject::setPositionEdit(), and LLViewerObject::setPositionGlobal().
Definition at line 430 of file llquaternion.cpp.
References F_APPROXIMATELY_ZERO, loadIdentity(), mQ, LLVector3::mV, LLVector3::normalize(), setAngleAxis(), LLVector3::setVec(), VW, VX, VY, and VZ.
Referenced by LLKeyframeMotion::applyConstraint(), LLVolumeImplFlexible::doFlexibleUpdate(), LLToolSelect::handleObjectSelection(), LLManipRotate::renderSnapGuides(), LLBVHLoader::serialize(), LLJointSolverRP3::solve(), LLFollowCam::updateBehindnessConstraint(), and LLViewerCamera::updateCameraLocation().
const LLQuaternion & LLQuaternion::constrain | ( | F32 | radians | ) |
Definition at line 497 of file llquaternion.cpp.
References cosf, mQ, sinf, sqrtf, VW, VX, VY, and VZ.
Referenced by LLTargetingMotion::onUpdate(), LLEyeMotion::onUpdate(), and LLHeadRotMotion::onUpdate().
bool LLQuaternion::operator== | ( | const LLQuaternion & | b | ) | const [inline] |
bool LLQuaternion::operator!= | ( | const LLQuaternion & | b | ) | const [inline] |
LLVector3 LLQuaternion::packToVector3 | ( | ) | const |
Definition at line 909 of file llquaternion.cpp.
References mQ, VW, VX, VY, and VZ.
Referenced by LLTemplateMessageBuilder::addQuat(), LLSelectMgr::packMultipleUpdate(), LLKeyframeMotion::serialize(), and LLBVHLoader::serialize().
void LLQuaternion::unpackFromVector3 | ( | const LLVector3 & | vec | ) |
Definition at line 922 of file llquaternion.cpp.
References LLVector3::magVecSquared(), mQ, LLVector3::mV, VW, VX, VY, and VZ.
Referenced by LLKeyframeMotion::deserialize(), LLTemplateMessageReader::getQuat(), and LLViewerObject::processUpdateMessage().
BOOL LLQuaternion::parseQuat | ( | const char * | buf, | |
LLQuaternion * | value | |||
) | [static] |
Definition at line 940 of file llquaternion.cpp.
References FALSE, mQ, NULL, S32, set(), and TRUE.
Referenced by LLXmlTreeNode::getFastAttributeQuat().
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLQuaternion & | a | |||
) | [friend] |
Definition at line 526 of file llquaternion.cpp.
LLQuaternion operator+ | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 383 of file llquaternion.h.
LLQuaternion operator- | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 393 of file llquaternion.h.
LLQuaternion operator- | ( | const LLQuaternion & | a | ) | [friend] |
Definition at line 403 of file llquaternion.h.
LLQuaternion operator* | ( | F32 | a, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 413 of file llquaternion.h.
LLQuaternion operator* | ( | const LLQuaternion & | q, | |
F32 | b | |||
) | [friend] |
Definition at line 423 of file llquaternion.h.
LLQuaternion operator* | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 536 of file llquaternion.cpp.
LLQuaternion operator~ | ( | const LLQuaternion & | a | ) | [friend] |
Definition at line 432 of file llquaternion.h.
const LLQuaternion& operator*= | ( | LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 455 of file llquaternion.h.
LLVector4 operator* | ( | const LLVector4 & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 559 of file llquaternion.cpp.
LLVector3 operator* | ( | const LLVector3 & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 573 of file llquaternion.cpp.
LLVector3d operator* | ( | const LLVector3d & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 587 of file llquaternion.cpp.
F32 dot | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
LLQuaternion lerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
LLQuaternion lerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 623 of file llquaternion.cpp.
LLQuaternion slerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
LLQuaternion slerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 722 of file llquaternion.cpp.
LLQuaternion nlerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 697 of file llquaternion.cpp.
LLQuaternion nlerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 709 of file llquaternion.cpp.
LLQuaternion mayaQ | ( | F32 | x, | |
F32 | y, | |||
F32 | z, | |||
LLQuaternion::Order | order | |||
) | [friend] |
Definition at line 762 of file llquaternion.cpp.
const char* OrderToString | ( | const Order | order | ) | [friend] |
Definition at line 792 of file llquaternion.cpp.
Order StringToOrder | ( | const char * | str | ) | [friend] |
Definition at line 820 of file llquaternion.cpp.
Definition at line 53 of file llquaternion.h.
Referenced by bytestream2quaternion(), conjQuat(), conjugate(), constrain(), dot(), getAngleAxis(), LLXMLNode::getAttributeQuat(), getMatrix3(), getMatrix4(), LLMatrix4::initAll(), isFinite(), isIdentity(), isNotIdentity(), lerp(), ll_quaternion_from_sd(), ll_sd_from_quaternion(), LLQuaternion(), loadIdentity(), lsa_fprint_heap(), lsa_print_heap(), nlerp(), normalize(), normQuat(), operator!=(), operator*(), operator*=(), operator+(), operator-(), operator<<(), operator==(), packToVector3(), parseQuat(), LLScriptLibData::print(), print_pushargq(), LLScriptLibData::print_separator(), LLScriptLSOParse::printGlobals(), LLViewerObject::processUpdateMessage(), quantize16(), quantize8(), LLMatrix4::quaternion(), LLMatrix3::quaternion(), quaternion2bytestream(), run_cast(), run_print(), run_pushargq(), set(), setAngleAxis(), setQuat(), setQuatInit(), LLXform::setRotation(), shortestArc(), slerp(), transpose(), transQuat(), and unpackFromVector3().
const LLQuaternion LLQuaternion::DEFAULT [static] |
Definition at line 55 of file llquaternion.h.
Referenced by LLHUDEffectLookAt::calcTargetPosition(), LLManipRotate::dragConstrained(), LLManipRotate::dragUnconstrained(), LLAgent::getHeadRotation(), LLVOAvatar::getOffObject(), LLKeyframeMotion::RotationCurve::getValue(), LLManipTranslate::highlightManipulators(), LLManipScale::highlightManipulators(), LLFollowCam::LLFollowCam(), LLFlyAdjustMotion::onActivate(), LLEyeMotion::onDeactivate(), LLEyeMotion::onUpdate(), LLHeadRotMotion::onUpdate(), LLEditingMotion::onUpdate(), run_cast(), and LLFollowCam::updateBehindnessConstraint().