#include <llquaternion.h>
Collaboration diagram for LLQuaternion:
Definition at line 50 of file llquaternion.h.
enum LLQuaternion::Order |
LLQuaternion::LLQuaternion | ( | ) | [inline] |
LLQuaternion::LLQuaternion | ( | const LLMatrix4 & | mat | ) | [explicit] |
LLQuaternion::LLQuaternion | ( | const LLMatrix3 & | mat | ) | [explicit] |
Definition at line 63 of file llquaternion.cpp.
References c, cosf, f, mQ, LLVector4::mV, normQuat(), s, sinf, v, VW, VX, VY, and VZ.
LLQuaternion::LLQuaternion | ( | const F32 * | q | ) | [inline] |
LLQuaternion::LLQuaternion | ( | const LLVector3 & | x_axis, | |
const LLVector3 & | y_axis, | |||
const LLVector3 & | z_axis | |||
) |
Definition at line 95 of file llquaternion.cpp.
References normQuat(), LLMatrix3::quaternion(), and LLMatrix3::setRows().
const LLQuaternion & LLQuaternion::conjQuat | ( | void | ) | [inline] |
Definition at line 279 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::constrain | ( | F32 | radians | ) |
Definition at line 399 of file llquaternion.cpp.
References cosf, f, mQ, sinf, sqrtf, VW, VX, VY, and VZ.
Referenced by LLTargetingMotion::onUpdate(), LLEyeMotion::onUpdate(), and LLHeadRotMotion::onUpdate().
Definition at line 759 of file llquaternion.cpp.
Definition at line 260 of file llquaternion.h.
References f, 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(), LLDrawPoolTree::renderTree(), rotate_quat(), LLFollowCam::updateBehindnessConstraint(), and LLViewerCamera::updateCameraLocation().
Definition at line 780 of file llquaternion.cpp.
References LLMatrix3::getEulerAngles(), and LLMatrix3::orthogonalize().
Referenced by LLPanelObject::getState(), LLManipRotate::render(), and LLVOAvatar::updateCharacter().
Definition at line 259 of file llquaternion.cpp.
References LLMatrix3::mMatrix, mQ, VW, VX, VY, and VZ.
Referenced by LLMatrix3::setRot(), and LLVOAvatar::updateCharacter().
Definition at line 291 of file llquaternion.cpp.
BOOL LLQuaternion::isFinite | ( | ) | const [inline] |
Definition at line 151 of file llquaternion.h.
References llfinite, mQ, VS, VX, VY, and VZ.
Referenced by LLXform::setRotation(), and LLJoint::setRotation().
BOOL LLQuaternion::isIdentity | ( | ) | const [inline] |
Definition at line 156 of file llquaternion.h.
References f, mQ, VS, VX, VY, and VZ.
Referenced by run_jumpif(), and run_jumpnif().
BOOL LLQuaternion::isNotIdentity | ( | ) | const [inline] |
void LLQuaternion::loadIdentity | ( | ) | [inline] |
Definition at line 218 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(), LLPath::PathPt::PathPt(), LLBVHLoader::serialize(), LLXform::setRotation(), and shortestArc().
F32 LLQuaternion::normQuat | ( | ) | [inline] |
Definition at line 385 of file llquaternion.h.
References FP_MAG_THRESHOLD, mQ, sqrtf, VS, VX, VY, and VZ.
Referenced by LLQuaternion(), LLKeyframeStandMotion::onUpdate(), LLViewerObject::processUpdateMessage(), quantize16(), quantize8(), setQuat(), and setQuatInit().
bool LLQuaternion::operator!= | ( | const LLQuaternion & | b | ) | const [inline] |
bool LLQuaternion::operator== | ( | const LLQuaternion & | b | ) | const [inline] |
LLVector3 LLQuaternion::packToVector3 | ( | ) | const |
Definition at line 807 of file llquaternion.cpp.
References mQ, VW, VX, VY, and VZ.
Referenced by LLTemplateMessageBuilder::addQuat(), LLSelectMgr::packMultipleUpdate(), and LLBVHLoader::serialize().
BOOL LLQuaternion::parseQuat | ( | const char * | buf, | |
LLQuaternion * | value | |||
) | [static] |
Definition at line 838 of file llquaternion.cpp.
References count, FALSE, mQ, NULL, S32, setQuat(), and TRUE.
Referenced by LLXmlTreeNode::getFastAttributeQuat().
Definition at line 106 of file llquaternion.cpp.
References F32_to_U16_ROUND(), mQ, normQuat(), s, U16_to_F32(), VS, VX, VY, VZ, x, y, and z.
Definition at line 126 of file llquaternion.cpp.
References F32_to_U8_ROUND(), mQ, normQuat(), U8_to_F32(), VS, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | roll, | |
F32 | pitch, | |||
F32 | yaw | |||
) |
Definition at line 197 of file llquaternion.cpp.
References normQuat(), LLMatrix3::orthogonalize(), and LLMatrix3::quaternion().
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
const LLVector4 & | vec | |||
) |
Definition at line 179 of file llquaternion.cpp.
References c, cosf, f, mQ, LLVector4::mV, normQuat(), s, sinf, v, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
const LLVector3 & | vec | |||
) |
const LLQuaternion & LLQuaternion::setQuat | ( | F32 | angle, | |
F32 | x, | |||
F32 | y, | |||
F32 | z | |||
) |
Definition at line 141 of file llquaternion.cpp.
References c, cosf, mQ, LLVector3::mV, normQuat(), LLVector3::normVec(), s, sinf, VW, VX, VY, and VZ.
const LLQuaternion & LLQuaternion::setQuat | ( | const LLMatrix4 & | mat | ) |
Definition at line 752 of file llquaternion.cpp.
References normQuat(), and LLMatrix4::quaternion().
const LLQuaternion & LLQuaternion::setQuat | ( | const LLMatrix3 & | mat | ) |
Definition at line 745 of file llquaternion.cpp.
References normQuat(), and LLMatrix3::quaternion().
const LLQuaternion & LLQuaternion::setQuat | ( | const F32 * | q | ) | [inline] |
const LLQuaternion & LLQuaternion::setQuat | ( | const LLQuaternion & | quat | ) | [inline] |
Definition at line 237 of file llquaternion.h.
References mQ, normQuat(), VW, VX, VY, and VZ.
Referenced by add_object(), LLVOVolume::animateTextures(), LLViewerObject::applyAngularVelocity(), LLVolumeImplFlexible::doFlexibleUpdate(), LLPath::genNGon(), LLViewerObject::idleUpdate(), LLVOAvatar::loadSkeletonNode(), LLViewerWindow::mouseDirectionCamera(), LLBodyNoiseMotion::onUpdate(), LLEyeMotion::onUpdate(), parseQuat(), LLMatrix4::quaternion(), LLMatrix3::quaternion(), LLPanelObject::sendRotation(), LLVolumeImplFlexible::setAttributesOfAllSections(), LLXform::setRotation(), shortestArc(), LLJointSolverRP3::solve(), and LLViewerPartSourceScript::update().
const LLQuaternion & LLQuaternion::setQuatInit | ( | F32 | x, | |
F32 | y, | |||
F32 | z, | |||
F32 | w | |||
) | [inline] |
Definition at line 332 of file llquaternion.cpp.
References a, b, f, F_APPROXIMATELY_ZERO, loadIdentity(), mQ, LLVector3::mV, LLVector3::normVec(), setQuat(), LLVector3::setVec(), VW, VX, VY, and VZ.
Referenced by LLKeyframeMotion::applyConstraint(), LLVolumeImplFlexible::doFlexibleUpdate(), LLManipRotate::renderSnapGuides(), LLBVHLoader::serialize(), LLJointSolverRP3::solve(), LLFollowCam::updateBehindnessConstraint(), and LLViewerCamera::updateCameraLocation().
const LLQuaternion & LLQuaternion::transQuat | ( | ) | [inline] |
Definition at line 288 of file llquaternion.h.
References mQ, VX, VY, and VZ.
Referenced by LLKeyframeFallMotion::onActivate(), LLEyeMotion::onUpdate(), LLViewerObject::setPositionEdit(), and LLViewerObject::setPositionGlobal().
Definition at line 820 of file llquaternion.cpp.
References LLVector3::magVecSquared(), mQ, LLVector3::mV, VW, VX, VY, and VZ.
Referenced by LLKeyframeMotion::deserialize(), LLTemplateMessageReader::getQuat(), and LLViewerObject::processUpdateMessage().
F32 dot | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 503 of file llquaternion.cpp.
LLQuaternion lerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 525 of file llquaternion.cpp.
LLQuaternion lerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 536 of file llquaternion.cpp.
LLQuaternion mayaQ | ( | F32 | x, | |
F32 | y, | |||
F32 | z, | |||
Order | order | |||
) | [friend] |
LLQuaternion nlerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 611 of file llquaternion.cpp.
LLQuaternion nlerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 599 of file llquaternion.cpp.
LLVector3d operator * | ( | const LLVector3d & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 489 of file llquaternion.cpp.
LLVector3 operator * | ( | const LLVector3 & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 475 of file llquaternion.cpp.
LLVector4 operator * | ( | const LLVector4 & | a, | |
const LLQuaternion & | rot | |||
) | [friend] |
Definition at line 461 of file llquaternion.cpp.
LLQuaternion operator * | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 438 of file llquaternion.cpp.
LLQuaternion operator * | ( | const LLQuaternion & | q, | |
F32 | b | |||
) | [friend] |
Definition at line 337 of file llquaternion.h.
LLQuaternion operator * | ( | F32 | a, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 327 of file llquaternion.h.
const LLQuaternion& operator *= | ( | LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 369 of file llquaternion.h.
LLQuaternion operator+ | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 297 of file llquaternion.h.
LLQuaternion operator- | ( | const LLQuaternion & | a | ) | [friend] |
Definition at line 317 of file llquaternion.h.
LLQuaternion operator- | ( | const LLQuaternion & | a, | |
const LLQuaternion & | b | |||
) | [friend] |
Definition at line 307 of file llquaternion.h.
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLQuaternion & | a | |||
) | [friend] |
Definition at line 428 of file llquaternion.cpp.
LLQuaternion operator~ | ( | const LLQuaternion & | a | ) | [friend] |
Definition at line 346 of file llquaternion.h.
const char* OrderToString | ( | const Order | order | ) | [friend] |
LLQuaternion slerp | ( | F32 | t, | |
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 624 of file llquaternion.cpp.
LLQuaternion slerp | ( | F32 | t, | |
const LLQuaternion & | p, | |||
const LLQuaternion & | q | |||
) | [friend] |
Definition at line 553 of file llquaternion.cpp.
Order StringToOrder | ( | const char * | str | ) | [friend] |
Definition at line 722 of file llquaternion.cpp.
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().
Definition at line 53 of file llquaternion.h.
Referenced by bytestream2quaternion(), conjQuat(), constrain(), 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(), normQuat(), 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(), setQuat(), setQuatInit(), LLXform::setRotation(), shortestArc(), slerp(), transQuat(), unpackFromVector3(), LLViewerJoint::writeCAL3D(), and LLKeyframeMotion::writeCAL3D().