#include <m3math.h>
Public Member Functions | |
LLMatrix3 (void) | |
LLMatrix3 (const F32 *mat) | |
LLMatrix3 (const LLQuaternion &q) | |
LLMatrix3 (const F32 angle, const F32 x, const F32 y, const F32 z) | |
LLMatrix3 (const F32 angle, const LLVector3 &vec) | |
LLMatrix3 (const F32 angle, const LLVector3d &vec) | |
LLMatrix3 (const F32 angle, const LLVector4 &vec) | |
LLMatrix3 (const F32 roll, const F32 pitch, const F32 yaw) | |
const LLMatrix3 & | setIdentity () |
const LLMatrix3 & | clear () |
const LLMatrix3 & | setZero () |
const LLMatrix3 & | setRot (const F32 angle, const F32 x, const F32 y, const F32 z) |
const LLMatrix3 & | setRot (const F32 angle, const LLVector3 &vec) |
const LLMatrix3 & | setRot (const F32 roll, const F32 pitch, const F32 yaw) |
const LLMatrix3 & | setRot (const LLQuaternion &q) |
const LLMatrix3 & | setRows (const LLVector3 &x_axis, const LLVector3 &y_axis, const LLVector3 &z_axis) |
const LLMatrix3 & | setRow (U32 rowIndex, const LLVector3 &row) |
const LLMatrix3 & | setCol (U32 colIndex, const LLVector3 &col) |
LLQuaternion | quaternion () const |
void | getEulerAngles (F32 *roll, F32 *pitch, F32 *yaw) const |
LLVector3 | getFwdRow () const |
LLVector3 | getLeftRow () const |
LLVector3 | getUpRow () const |
F32 | determinant () const |
const LLMatrix3 & | transpose () |
const LLMatrix3 & | orthogonalize () |
void | invert () |
const LLMatrix3 & | adjointTranspose () |
const LLMatrix3 & | rotate (const F32 angle, const F32 x, const F32 y, const F32 z) |
const LLMatrix3 & | rotate (const F32 angle, const LLVector3 &vec) |
const LLMatrix3 & | rotate (const F32 roll, const F32 pitch, const F32 yaw) |
const LLMatrix3 & | rotate (const LLQuaternion &q) |
void | add (const LLMatrix3 &other_matrix) |
Public Attributes | |
F32 | mMatrix [NUM_VALUES_IN_MAT3][NUM_VALUES_IN_MAT3] |
Friends | |
LLVector3 | operator* (const LLVector3 &a, const LLMatrix3 &b) |
LLVector3d | operator* (const LLVector3d &a, const LLMatrix3 &b) |
LLMatrix3 | operator* (const LLMatrix3 &a, const LLMatrix3 &b) |
bool | operator== (const LLMatrix3 &a, const LLMatrix3 &b) |
bool | operator!= (const LLMatrix3 &a, const LLMatrix3 &b) |
const LLMatrix3 & | operator*= (LLMatrix3 &a, const LLMatrix3 &b) |
const LLMatrix3 & | operator*= (LLMatrix3 &a, F32 scalar) |
std::ostream & | operator<< (std::ostream &s, const LLMatrix3 &a) |
Definition at line 59 of file m3math.h.
LLMatrix3::LLMatrix3 | ( | const F32 * | mat | ) | [inline, explicit] |
LLMatrix3::LLMatrix3 | ( | const LLQuaternion & | q | ) | [explicit] |
Definition at line 57 of file m3math.cpp.
References setRot().
Definition at line 83 of file m3math.cpp.
References setRot().
Definition at line 63 of file m3math.cpp.
References setRot().
LLMatrix3::LLMatrix3 | ( | const F32 | angle, | |
const LLVector3d & | vec | |||
) |
Definition at line 69 of file m3math.cpp.
References setRot(), and LLVector3::setVec().
Definition at line 77 of file m3math.cpp.
References setRot().
Definition at line 90 of file m3math.cpp.
References setRot().
const LLMatrix3 & LLMatrix3::setIdentity | ( | ) |
Definition at line 139 of file m3math.cpp.
References mMatrix.
Referenced by LLVOVolume::LLVOVolume().
const LLMatrix3 & LLMatrix3::clear | ( | ) |
const LLMatrix3 & LLMatrix3::setZero | ( | ) |
Definition at line 304 of file m3math.cpp.
Referenced by LLMatrix3(), and setRot().
Definition at line 310 of file m3math.cpp.
References setRot().
const LLMatrix3 & LLMatrix3::setRot | ( | const LLQuaternion & | q | ) |
Definition at line 358 of file m3math.cpp.
References LLQuaternion::getMatrix3().
const LLMatrix3 & LLMatrix3::setRows | ( | const LLVector3 & | x_axis, | |
const LLVector3 & | y_axis, | |||
const LLVector3 & | z_axis | |||
) |
Definition at line 364 of file m3math.cpp.
References mMatrix, and LLVector3::mV.
Referenced by LLFace::genVolumeBBoxes(), LLFace::getGeometryVolume(), LLQuaternion::LLQuaternion(), LLViewerJoystick::moveFlycam(), orthogonalize(), LLCubeMap::setMatrix(), LLAgent::updateCamera(), LLVOAvatar::updateCharacter(), LLVOVolume::updateRelativeXform(), and LLVolumeImplFlexible::updateRelativeXform().
LLQuaternion LLMatrix3::quaternion | ( | ) | const |
Definition at line 254 of file m3math.cpp.
References i, j, mMatrix, LLQuaternion::mQ, LLQuaternion::setQuat(), VS, VX, VY, and VZ.
Referenced by LLQuaternion::LLQuaternion(), LLQuaternion::set(), LLQuaternion::setEulerAngles(), and LLQuaternion::setQuat().
Definition at line 96 of file m3math.cpp.
References llclamp(), and mMatrix.
Referenced by LLQuaternion::getEulerAngles().
LLVector3 LLMatrix3::getFwdRow | ( | ) | const |
Definition at line 446 of file m3math.cpp.
Referenced by LLFace::genVolumeBBoxes(), LLVoiceClient::sendPositionalUpdate(), and LLVOAvatar::updateCharacter().
LLVector3 LLMatrix3::getLeftRow | ( | ) | const |
Definition at line 451 of file m3math.cpp.
Referenced by LLFace::genVolumeBBoxes(), and LLVoiceClient::sendPositionalUpdate().
LLVector3 LLMatrix3::getUpRow | ( | ) | const |
Definition at line 456 of file m3math.cpp.
Referenced by LLFace::genVolumeBBoxes(), and LLVoiceClient::sendPositionalUpdate().
F32 LLMatrix3::determinant | ( | ) | const |
Definition at line 200 of file m3math.cpp.
References mMatrix.
Referenced by invert().
const LLMatrix3 & LLMatrix3::transpose | ( | ) |
Definition at line 189 of file m3math.cpp.
References mMatrix, VX, VY, and VZ.
Referenced by LLVOVolume::updateRelativeXform().
const LLMatrix3 & LLMatrix3::orthogonalize | ( | ) |
Definition at line 463 of file m3math.cpp.
References mMatrix, LLVector3::normVec(), setRows(), VX, VY, and VZ.
Referenced by LLQuaternion::getEulerAngles(), LLViewerJoystick::moveFlycam(), LLQuaternion::setEulerAngles(), and LLQuaternion::setQuat().
void LLMatrix3::invert | ( | ) |
Definition at line 210 of file m3math.cpp.
References determinant(), mMatrix, VX, VY, and VZ.
const LLMatrix3 & LLMatrix3::adjointTranspose | ( | ) |
Definition at line 404 of file m3math.cpp.
Definition at line 412 of file m3math.cpp.
Definition at line 420 of file m3math.cpp.
const LLMatrix3 & LLMatrix3::rotate | ( | const LLQuaternion & | q | ) |
Definition at line 428 of file m3math.cpp.
void LLMatrix3::add | ( | const LLMatrix3 & | other_matrix | ) |
Definition at line 518 of file m3math.cpp.
LLVector3d operator* | ( | const LLVector3d & | a, | |
const LLMatrix3 & | b | |||
) | [friend] |
Definition at line 535 of file m3math.cpp.
Definition at line 480 of file m3math.cpp.
Definition at line 552 of file m3math.cpp.
Definition at line 566 of file m3math.cpp.
Definition at line 580 of file m3math.cpp.
Definition at line 597 of file m3math.cpp.
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLMatrix3 & | a | |||
) | [friend] |
Definition at line 610 of file m3math.cpp.
Definition at line 62 of file m3math.h.
Referenced by add(), adjointTranspose(), clear(), determinant(), getEulerAngles(), getFwdRow(), getLeftRow(), LLMatrix4::getMat3(), LLQuaternion::getMatrix3(), getUpRow(), LLMatrix4::initMatrix(), invert(), LLCoordFrame::LLCoordFrame(), LLMatrix3(), LLMatrix4::LLMatrix4(), LLBVHLoader::loadTranslationTable(), LLViewerJoystick::moveFlycam(), operator!=(), operator*(), operator*=(), operator<<(), LLV4Matrix3::operator=(), operator==(), orthogonalize(), quaternion(), LLCoordFrame::setAxes(), setCol(), setIdentity(), setRot(), setRow(), setRows(), setZero(), transpose(), and LLViewerJointMesh::updateGeometryOriginal().