LLMatrix3 Class Reference

#include <m3math.h>

List of all members.

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 LLMatrix3identity ()
const LLMatrix3zero ()
const LLMatrix3setRot (const F32 angle, const F32 x, const F32 y, const F32 z)
const LLMatrix3setRot (const F32 angle, const LLVector3 &vec)
const LLMatrix3setRot (const F32 roll, const F32 pitch, const F32 yaw)
const LLMatrix3setRot (const LLQuaternion &q)
const LLMatrix3setRows (const LLVector3 &x_axis, const LLVector3 &y_axis, const LLVector3 &z_axis)
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 LLMatrix3transpose ()
const LLMatrix3invert ()
const LLMatrix3orthogonalize ()
const LLMatrix3adjointTranspose ()
const LLMatrix3rotate (const F32 angle, const F32 x, const F32 y, const F32 z)
const LLMatrix3rotate (const F32 angle, const LLVector3 &vec)
const LLMatrix3rotate (const F32 roll, const F32 pitch, const F32 yaw)
const LLMatrix3rotate (const LLQuaternion &q)

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 LLMatrix3operator *= (LLMatrix3 &a, const LLMatrix3 &b)
std::ostream & operator<< (std::ostream &s, const LLMatrix3 &a)


Detailed Description

Definition at line 58 of file m3math.h.


Constructor & Destructor Documentation

LLMatrix3::LLMatrix3 ( void   )  [inline]

Definition at line 144 of file m3math.h.

References mMatrix.

LLMatrix3::LLMatrix3 ( const F32 mat  )  [inline, explicit]

Definition at line 159 of file m3math.h.

References mMatrix.

LLMatrix3::LLMatrix3 ( const LLQuaternion q  )  [explicit]

Definition at line 57 of file m3math.cpp.

References setRot().

LLMatrix3::LLMatrix3 ( const F32  angle,
const F32  x,
const F32  y,
const F32  z 
)

Definition at line 83 of file m3math.cpp.

References setRot().

LLMatrix3::LLMatrix3 ( const F32  angle,
const LLVector3 vec 
)

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().

LLMatrix3::LLMatrix3 ( const F32  angle,
const LLVector4 vec 
)

Definition at line 77 of file m3math.cpp.

References setRot().

LLMatrix3::LLMatrix3 ( const F32  roll,
const F32  pitch,
const F32  yaw 
)

Definition at line 90 of file m3math.cpp.

References setRot().


Member Function Documentation

const LLMatrix3 & LLMatrix3::adjointTranspose (  ) 

Definition at line 205 of file m3math.cpp.

References mMatrix, VX, VY, and VZ.

F32 LLMatrix3::determinant (  )  const

Definition at line 184 of file m3math.cpp.

References mMatrix.

void LLMatrix3::getEulerAngles ( F32 roll,
F32 pitch,
F32 yaw 
) const

Definition at line 96 of file m3math.cpp.

References f, llclamp(), and mMatrix.

Referenced by LLQuaternion::getEulerAngles().

LLVector3 LLMatrix3::getFwdRow (  )  const

Definition at line 388 of file m3math.cpp.

References mMatrix, and VX.

Referenced by LLFace::genVolumeBBoxes(), LLVoiceClient::sendPositionalUpdate(), and LLVOAvatar::updateCharacter().

LLVector3 LLMatrix3::getLeftRow (  )  const

Definition at line 393 of file m3math.cpp.

References mMatrix, and VY.

Referenced by LLFace::genVolumeBBoxes(), and LLVoiceClient::sendPositionalUpdate().

LLVector3 LLMatrix3::getUpRow (  )  const

Definition at line 398 of file m3math.cpp.

References mMatrix, and VZ.

Referenced by LLFace::genVolumeBBoxes(), and LLVoiceClient::sendPositionalUpdate().

const LLMatrix3 & LLMatrix3::identity (  ) 

Definition at line 139 of file m3math.cpp.

References mMatrix.

Referenced by LLVOVolume::LLVOVolume().

const LLMatrix3 & LLMatrix3::invert (  ) 

Definition at line 194 of file m3math.cpp.

References mMatrix, VX, VY, and VZ.

const LLMatrix3 & LLMatrix3::orthogonalize (  ) 

Definition at line 405 of file m3math.cpp.

References mMatrix, LLVector3::normVec(), setRows(), VX, VY, and VZ.

Referenced by LLQuaternion::getEulerAngles(), and LLQuaternion::setQuat().

LLQuaternion LLMatrix3::quaternion (  )  const

Definition at line 227 of file m3math.cpp.

References f, i, j, mMatrix, LLQuaternion::mQ, s, LLQuaternion::setQuat(), VS, VX, VY, and VZ.

Referenced by LLQuaternion::LLQuaternion(), and LLQuaternion::setQuat().

const LLMatrix3 & LLMatrix3::rotate ( const LLQuaternion q  ) 

Definition at line 380 of file m3math.cpp.

const LLMatrix3 & LLMatrix3::rotate ( const F32  roll,
const F32  pitch,
const F32  yaw 
)

Definition at line 372 of file m3math.cpp.

const LLMatrix3 & LLMatrix3::rotate ( const F32  angle,
const LLVector3 vec 
)

Definition at line 364 of file m3math.cpp.

const LLMatrix3 & LLMatrix3::rotate ( const F32  angle,
const F32  x,
const F32  y,
const F32  z 
)

Definition at line 356 of file m3math.cpp.

const LLMatrix3 & LLMatrix3::setRot ( const LLQuaternion q  ) 

Definition at line 331 of file m3math.cpp.

References LLQuaternion::getMatrix3().

const LLMatrix3 & LLMatrix3::setRot ( const F32  roll,
const F32  pitch,
const F32  yaw 
)

Definition at line 289 of file m3math.cpp.

References mMatrix.

const LLMatrix3 & LLMatrix3::setRot ( const F32  angle,
const LLVector3 vec 
)

Definition at line 283 of file m3math.cpp.

References setRot().

const LLMatrix3 & LLMatrix3::setRot ( const F32  angle,
const F32  x,
const F32  y,
const F32  z 
)

Definition at line 277 of file m3math.cpp.

Referenced by LLMatrix3(), and setRot().

const LLMatrix3 & LLMatrix3::setRows ( const LLVector3 x_axis,
const LLVector3 y_axis,
const LLVector3 z_axis 
)

Definition at line 337 of file m3math.cpp.

References left, mMatrix, and LLVector3::mV.

Referenced by LLFace::genVolumeBBoxes(), LLFace::getGeometryVolume(), LLQuaternion::LLQuaternion(), orthogonalize(), LLCubeMap::setMatrix(), LLAgent::updateCamera(), LLVOAvatar::updateCharacter(), LLVOVolume::updateRelativeXform(), and LLVolumeImplFlexible::updateRelativeXform().

const LLMatrix3 & LLMatrix3::transpose (  ) 

Definition at line 173 of file m3math.cpp.

References mMatrix, VX, VY, and VZ.

Referenced by LLVOVolume::updateRelativeXform().

const LLMatrix3 & LLMatrix3::zero (  ) 

Definition at line 155 of file m3math.cpp.

References mMatrix.


Friends And Related Function Documentation

LLMatrix3 operator * ( const LLMatrix3 a,
const LLMatrix3 b 
) [friend]

Definition at line 422 of file m3math.cpp.

LLVector3d operator * ( const LLVector3d a,
const LLMatrix3 b 
) [friend]

Definition at line 477 of file m3math.cpp.

LLVector3 operator * ( const LLVector3 a,
const LLMatrix3 b 
) [friend]

Definition at line 460 of file m3math.cpp.

const LLMatrix3& operator *= ( LLMatrix3 a,
const LLMatrix3 b 
) [friend]

Definition at line 522 of file m3math.cpp.

bool operator!= ( const LLMatrix3 a,
const LLMatrix3 b 
) [friend]

Definition at line 508 of file m3math.cpp.

std::ostream& operator<< ( std::ostream &  s,
const LLMatrix3 a 
) [friend]

Definition at line 539 of file m3math.cpp.

bool operator== ( const LLMatrix3 a,
const LLMatrix3 b 
) [friend]

Definition at line 494 of file m3math.cpp.


Member Data Documentation

F32 LLMatrix3::mMatrix[NUM_VALUES_IN_MAT3][NUM_VALUES_IN_MAT3]

Definition at line 61 of file m3math.h.

Referenced by adjointTranspose(), determinant(), getEulerAngles(), getFwdRow(), getLeftRow(), LLMatrix4::getMat3(), LLQuaternion::getMatrix3(), getUpRow(), identity(), LLMatrix4::initMatrix(), invert(), LLCoordFrame::LLCoordFrame(), LLMatrix3(), LLMatrix4::LLMatrix4(), LLBVHLoader::loadTranslationTable(), operator *(), operator *=(), orthogonalize(), quaternion(), LLCoordFrame::setAxes(), setRot(), setRows(), transpose(), LLViewerJoystick::updateCamera(), LLViewerJointMesh::updateGeometryOriginal(), and zero().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:29 2010 for Second Life Viewer by  doxygen 1.4.7