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 LLMatrix3 & identity ()
const LLMatrix3 & zero ()
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)
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 & invert ()
const LLMatrix3 & orthogonalize ()
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)

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