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 LLMatrix3setIdentity ()
const LLMatrix3clear ()
const LLMatrix3setZero ()
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)
const LLMatrix3setRow (U32 rowIndex, const LLVector3 &row)
const LLMatrix3setCol (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 LLMatrix3transpose ()
const LLMatrix3orthogonalize ()
void invert ()
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)
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 LLMatrix3operator*= (LLMatrix3 &a, const LLMatrix3 &b)
const LLMatrix3operator*= (LLMatrix3 &a, F32 scalar)
std::ostream & operator<< (std::ostream &s, const LLMatrix3 &a)


Detailed Description

Definition at line 59 of file m3math.h.


Constructor & Destructor Documentation

LLMatrix3::LLMatrix3 ( void   )  [inline]

Definition at line 152 of file m3math.h.

References mMatrix.

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

Definition at line 167 of file m3math.h.

References mMatrix.

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

Definition at line 57 of file m3math.cpp.

References setRot().

Here is the call graph for this function:

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

Definition at line 83 of file m3math.cpp.

References setRot().

Here is the call graph for this function:

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

Definition at line 63 of file m3math.cpp.

References setRot().

Here is the call graph for this function:

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

Definition at line 69 of file m3math.cpp.

References setRot(), and LLVector3::setVec().

Here is the call graph for this function:

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

Definition at line 77 of file m3math.cpp.

References setRot().

Here is the call graph for this function:

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

Definition at line 90 of file m3math.cpp.

References setRot().

Here is the call graph for this function:


Member Function Documentation

const LLMatrix3 & LLMatrix3::setIdentity (  ) 

Definition at line 139 of file m3math.cpp.

References mMatrix.

Referenced by LLVOVolume::LLVOVolume().

Here is the caller graph for this function:

const LLMatrix3 & LLMatrix3::clear (  ) 

Definition at line 155 of file m3math.cpp.

References mMatrix.

const LLMatrix3 & LLMatrix3::setZero (  ) 

Definition at line 171 of file m3math.cpp.

References mMatrix.

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

Definition at line 304 of file m3math.cpp.

Referenced by LLMatrix3(), and setRot().

Here is the caller graph for this function:

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

Definition at line 310 of file m3math.cpp.

References setRot().

Here is the call graph for this function:

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

Definition at line 316 of file m3math.cpp.

References mMatrix.

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

Definition at line 358 of file m3math.cpp.

References LLQuaternion::getMatrix3().

Here is the call graph for this function:

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

const LLMatrix3 & LLMatrix3::setRow ( U32  rowIndex,
const LLVector3 row 
)

Definition at line 381 of file m3math.cpp.

References llassert, mMatrix, and NUM_VALUES_IN_MAT3.

const LLMatrix3 & LLMatrix3::setCol ( U32  colIndex,
const LLVector3 col 
)

Definition at line 392 of file m3math.cpp.

References llassert, mMatrix, and NUM_VALUES_IN_MAT3.

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 96 of file m3math.cpp.

References llclamp(), and mMatrix.

Referenced by LLQuaternion::getEulerAngles().

Here is the call graph for this function:

Here is the caller graph for this function:

LLVector3 LLMatrix3::getFwdRow (  )  const

Definition at line 446 of file m3math.cpp.

References mMatrix, and VX.

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

Here is the caller graph for this function:

LLVector3 LLMatrix3::getLeftRow (  )  const

Definition at line 451 of file m3math.cpp.

References mMatrix, and VY.

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

Here is the caller graph for this function:

LLVector3 LLMatrix3::getUpRow (  )  const

Definition at line 456 of file m3math.cpp.

References mMatrix, and VZ.

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

Here is the caller graph for this function:

F32 LLMatrix3::determinant (  )  const

Definition at line 200 of file m3math.cpp.

References mMatrix.

Referenced by invert().

Here is the caller graph for this function:

const LLMatrix3 & LLMatrix3::transpose (  ) 

Definition at line 189 of file m3math.cpp.

References mMatrix, VX, VY, and VZ.

Referenced by LLVOVolume::updateRelativeXform().

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMatrix3::invert (  ) 

Definition at line 210 of file m3math.cpp.

References determinant(), mMatrix, VX, VY, and VZ.

Here is the call graph for this function:

const LLMatrix3 & LLMatrix3::adjointTranspose (  ) 

Definition at line 232 of file m3math.cpp.

References mMatrix, VX, VY, and VZ.

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

Definition at line 404 of file m3math.cpp.

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

Definition at line 412 of file m3math.cpp.

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

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 435 of file m3math.cpp.

References i, j, mMatrix, and S32.


Friends And Related Function Documentation

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

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.

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

Definition at line 480 of file m3math.cpp.

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

Definition at line 552 of file m3math.cpp.

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

Definition at line 566 of file m3math.cpp.

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

Definition at line 580 of file m3math.cpp.

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

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.


Member Data Documentation


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:52:15 2008 for SecondLife by  doxygen 1.5.5