Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

base::Matrix3 Class Reference

Collaboration diagram for base::Matrix3:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Matrix3 ()
 Matrix3 (const Matrix3 &m)
 Matrix3 (const Real &s)
 Matrix3 (Real e11, Real e12, Real e13, Real e21, Real e22, Real e23, Real e31, Real e32, Real e33)
 ~Matrix3 ()
Matrix3 & setIdentity () throw ()
Matrix3 & setZero () throw ()
Real & e (Int row, Int col) throw ()
const Real & e (Int row, Int col) const throw ()
Real & at (Int row, Int col) throw (std::out_of_range)
const Real & at (Int row, Int col) const throw (std::out_of_range)
Real & operator() (Int row, Int col) throw ()
const Real & operator() (Int row, Int col) const throw ()
Vector3 row (Int row) const
Vector3 column (Int col) const
void setRow (Int row, const Vector3 &r) throw ()
void setColumn (Int col, const Vector3 &c) throw ()
void swapColumns (Int col1, Int col2) throw (std::out_of_range)
void swapRows (Int row1, Int row2) throw (std::out_of_range)
Vector3 operator[] (Int r) const
int index (Int row, Int col) const throw ()
Matrix3 & operator= (const Matrix3 &src) throw ()
bool operator== (const Matrix3 &m1) const throw ()
bool equals (const Matrix3 &m1, Real epsilon=consts::epsilon) const throw ()
Matrix3 & transpose ()
Matrix3 & invert ()
Matrix3 & negate () throw ()
void setOrthonormalBasisOf (const Vector3 &v)
 sets the matrix to the right-handed orthonormal basis for vector v

void decomposeLUP (Matrix3 &L, Matrix3 &U, Vector3 &Pi) const
Vector3 solve (const Vector3 &b) const
 Solve Ax=b for x, given b, where A=*this (returns x).

Int eigenJacobi (Matrix3 &vout, Vector3 &dout, Int maxIter=50) const
Matrix3 & operator *= (const Matrix3 &m2)
Matrix3 & operator+= (const Matrix3 &m2)
Matrix3 & operator-= (const Matrix3 &m2)
Matrix3 & operator *= (const Real &s)
Matrix3 & operator/= (const Real &s)
const Real * c_array () const
Real * c_array ()
void serialize (Serializer &s)
 read or write object state to Serializer


Static Public Member Functions

Vector3 solveLUP (const Matrix3 &L, const Matrix3 &U, const Vector3 &Pi, const Vector3 &b)
 Solve for xA = b, given LUP decomposition of A as L, U and Pi, and given b, returns x.

void decomposeLUP (const Matrix3 &A, Matrix3 &L, Matrix3 &U, Vector3 &Pi)
Vector3 matrixMulVector (const Matrix3 &m, const Vector3 &v)
Vector3 matrixMulVectorAddVector (const Matrix3 &m, const Vector3 &v, const Vector3 &v2)

Constructor & Destructor Documentation

base::Matrix3::Matrix3 (   )  [inline]
 

Definition at line 74 of file Matrix3.

References setIdentity().

base::Matrix3::Matrix3 (  const Matrix3 &  m  )  [inline]
 

Definition at line 75 of file Matrix3.

References operator=().

base::Matrix3::Matrix3 (  const Real &  s  )  [inline]
 

Definition at line 76 of file Matrix3.

References base::Real.

base::Matrix3::Matrix3 (  Real  e11,
Real  e12,
Real  e13,
Real  e21,
Real  e22,
Real  e23,
Real  e31,
Real  e32,
Real  e33
)  [inline]
 

Definition at line 77 of file Matrix3.

References e(), and base::Real.

base::Matrix3::~Matrix3 (   )  [inline]
 

Definition at line 85 of file Matrix3.


Member Function Documentation

const Real& base::Matrix3::at (  Int  row,
Int  col
)  const throw (std::out_of_range) [inline]
 

Definition at line 119 of file Matrix3.

References Exception, base::Int, MATRIX3_ACCESS, and base::Real.

Real& base::Matrix3::at (  Int  row,
Int  col
)  throw (std::out_of_range) [inline]
 

Definition at line 111 of file Matrix3.

References Exception, base::Int, MATRIX3_ACCESS, and base::Real.

Referenced by operator()().

Real* base::Matrix3::c_array (   )  [inline]
 

Definition at line 239 of file Matrix3.

References base::Real.

const Real* base::Matrix3::c_array (   )  const [inline]
 

Definition at line 238 of file Matrix3.

References base::Real.

Vector3 base::Matrix3::column (  Int  col  )  const [inline]
 

Definition at line 152 of file Matrix3.

References e(), and base::Int.

Referenced by swapColumns().

void base::Matrix3::decomposeLUP (  const Matrix3 &  A,
Matrix3 &  L,
Matrix3 &  U,
Vector3 &  Pi
)  [inline, static]
 

Definition at line 244 of file Matrix3.

References decomposeLUP().

void base::Matrix3::decomposeLUP (  Matrix3 &  L,
Matrix3 &  U,
Vector3 &  Pi
)  const
 

Referenced by decomposeLUP().

const Real& base::Matrix3::e (  Int  row,
Int  col
)  const throw () [inline]
 

Definition at line 105 of file Matrix3.

References Assertm, base::Int, MATRIX3_ACCESS, and base::Real.

Real& base::Matrix3::e (  Int  row,
Int  col
)  throw () [inline]
 

Definition at line 99 of file Matrix3.

References Assertm, base::Int, MATRIX3_ACCESS, and base::Real.

Referenced by column(), Matrix3(), base::Matrix4::Matrix4(), operator()(), base::operator<<(), row(), setColumn(), and setRow().

Int base::Matrix3::eigenJacobi (  Matrix3 &  vout,
Vector3 &  dout,
Int  maxIter = 50
)  const
 

bool base::Matrix3::equals (  const Matrix3 &  m1,
Real  epsilon = consts::epsilon
)  const throw () [inline]
 

Definition at line 205 of file Matrix3.

References base::equals(), and base::Real.

Referenced by physics::OBBCollisionModel::Moment::equals().

int base::Matrix3::index (  Int  row,
Int  col
)  const throw () [inline]
 

Definition at line 186 of file Matrix3.

References base::Int, and MATRIX3_ACCESS.

Matrix3& base::Matrix3::invert (   ) 
 

Referenced by base::inverse().

Vector3 base::Matrix3::matrixMulVector (  const Matrix3 &  m,
const Vector3 &  v
)  [static]
 

Vector3 base::Matrix3::matrixMulVectorAddVector (  const Matrix3 &  m,
const Vector3 &  v,
const Vector3 &  v2
)  [static]
 

Matrix3& base::Matrix3::negate (   )  throw ()
 

Referenced by base::operator-().

Matrix3& base::Matrix3::operator *= (  const Real &  s  ) 
 

Matrix3& base::Matrix3::operator *= (  const Matrix3 &  m2  ) 
 

const Real& base::Matrix3::operator() (  Int  row,
Int  col
)  const throw () [inline]
 

Definition at line 136 of file Matrix3.

References at(), e(), base::Int, and base::Real.

Real& base::Matrix3::operator() (  Int  row,
Int  col
)  throw () [inline]
 

Definition at line 127 of file Matrix3.

References at(), e(), base::Int, and base::Real.

Matrix3& base::Matrix3::operator+= (  const Matrix3 &  m2  ) 
 

Matrix3& base::Matrix3::operator-= (  const Matrix3 &  m2  ) 
 

Matrix3& base::Matrix3::operator/= (  const Real &  s  ) 
 

Matrix3& base::Matrix3::operator= (  const Matrix3 &  src  )  throw () [inline]
 

Definition at line 189 of file Matrix3.

Referenced by Matrix3().

bool base::Matrix3::operator== (  const Matrix3 &  m1  )  const throw () [inline]
 

Definition at line 198 of file Matrix3.

Vector3 base::Matrix3::operator[] (  Int  r  )  const [inline]
 

Definition at line 182 of file Matrix3.

References base::Int, and row().

Vector3 base::Matrix3::row (  Int  row  )  const [inline]
 

Definition at line 149 of file Matrix3.

References e(), and base::Int.

Referenced by operator[](), and swapRows().

void base::Matrix3::serialize (  Serializer &  s  ) 
 

read or write object state to Serializer

Referenced by base::Serializer::operator()().

void base::Matrix3::setColumn (  Int  col,
const Vector3 &  c
)  throw () [inline]
 

Definition at line 158 of file Matrix3.

References e(), and base::Int.

Referenced by swapColumns().

Matrix3& base::Matrix3::setIdentity (   )  throw () [inline]
 

Definition at line 88 of file Matrix3.

References base::Real.

Referenced by Matrix3().

void base::Matrix3::setOrthonormalBasisOf (  const Vector3 &  v  ) 
 

sets the matrix to the right-handed orthonormal basis for vector v

void base::Matrix3::setRow (  Int  row,
const Vector3 &  r
)  throw () [inline]
 

Definition at line 155 of file Matrix3.

References e(), and base::Int.

Referenced by swapRows().

Matrix3& base::Matrix3::setZero (   )  throw () [inline]
 

Definition at line 93 of file Matrix3.

References base::Real.

Vector3 base::Matrix3::solve (  const Vector3 &  b  )  const
 

Solve Ax=b for x, given b, where A=*this (returns x).

Vector3 base::Matrix3::solveLUP (  const Matrix3 &  L,
const Matrix3 &  U,
const Vector3 &  Pi,
const Vector3 &  b
)  [static]
 

Solve for xA = b, given LUP decomposition of A as L, U and Pi, and given b, returns x.

void base::Matrix3::swapColumns (  Int  col1,
Int  col2
)  throw (std::out_of_range) [inline]
 

Definition at line 161 of file Matrix3.

References column(), Exception, base::Int, and setColumn().

void base::Matrix3::swapRows (  Int  row1,
Int  row2
)  throw (std::out_of_range) [inline]
 

Definition at line 171 of file Matrix3.

References Exception, base::Int, row(), and setRow().

Matrix3& base::Matrix3::transpose (   ) 
 

Referenced by base::transpose().


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:38:45 2004 for OpenSim by doxygen 1.3.6