CSIBCMatrix44d Class Reference

Class representing matricies with 4 rows, and 4 columns. More...

#include <SIBCMatrix44d.h>

Inheritance diagram for CSIBCMatrix44d:

CSIBCXfoMatd List of all members.

Public Member Functions

  CSIBCMatrix44d (void)
  CSIBCMatrix44d (const CSIBCVector4Dd &in_vct0, const CSIBCVector4Dd &in_vct1, const CSIBCVector4Dd &in_vct2, const CSIBCVector4Dd &in_vct3, const bool in_bAreRows=true)
  CSIBCMatrix44d (const double in_dA00, const double in_dA01, const double in_dA02, const double in_dA03, const double in_dA10, const double in_dA11, const double in_dA12, const double in_dA13, const double in_dA20, const double in_dA21, const double in_dA22, const double in_dA23, const double in_dA30, const double in_dA31, const double in_dA32, const double in_dA33)
double  Get (const int in_nRow, const int in_nCol) const
CSIBCMatrix44d Set (int in_nRow, int in_nCol, const double in_dVal)
CSIBCMatrix44d Set (const double in_dA00, const double in_dA01, const double in_dA02, const double in_dA03, const double in_dA10, const double in_dA11, const double in_dA12, const double in_dA13, const double in_dA20, const double in_dA21, const double in_dA22, const double in_dA23, const double in_dA30, const double in_dA31, const double in_dA32, const double in_dA33)
CSIBCMatrix44d Set (const double in_dArray[4][4])
CSIBCMatrix44d Set (const double *in_dPtr)
CSIBCMatrix44d Set (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d SetRow (const int in_nRow, const CSIBCVector4Dd &in_vct)
CSIBCMatrix44d SetRow (const int in_nRow, double in_dA0, double in_dA1, double in_dA2, double in_dA3)
CSIBCMatrix44d SetCol (const int in_nCol, const CSIBCVector4Dd &in_vct)
CSIBCMatrix44d SetCol (const int in_nCol, double in_dA0, double in_dA1, double in_dA2, double in_dA3)
CSIBCMatrix44d SetNull ()
CSIBCMatrix44d SetIdentity ()
bool  operator== (const CSIBCMatrix44d &in_mat) const
bool  operator!= (const CSIBCMatrix44d &in_mat) const
bool  IsNull (const double in_dEpsilon=PICO_EPS) const
CSIBCMatrix44d Add (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2)
CSIBCMatrix44d Add (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d Sub (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2)
CSIBCMatrix44d Sub (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d Mul (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2)
CSIBCMatrix44d Mul (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d MulTransByReg (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2)
CSIBCMatrix44d MulRegByTrans (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2)
CSIBCMatrix44d Negate (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d Negate ()
CSIBCMatrix44d Mul (const double in_dFactor, const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d Mul (const CSIBCMatrix44d &in_mat, const double in_dFactor)
CSIBCMatrix44d Mul (const double in_dFactor)
CSIBCMatrix44d Div (const CSIBCMatrix44d &in_mat, const double in_dFactor)
CSIBCMatrix44d Div (const double in_dFactor)
double  GetDet (void) const
double  GetDet (int in_nRow, int in_nCol) const
double  GetTrace (void) const
CSIBCMatrix44d Transpose (const CSIBCMatrix44d &in_mat)
CSIBCMatrix44d Transpose (void)
bool  Invert (const CSIBCMatrix44d &in_mat)
bool  Invert (void)
bool  TransposeInverse (const CSIBCMatrix44d &in_mat)
bool  TransposeInverse (void)
CSIBCMatrix44d Symmetry (CSIBCMatrix44d &in_mat) const
CSIBCMatrix44d Symmetry (void) const
CSIBCMatrix44d Adjoint (CSIBCMatrix44d &in_mat) const
CSIBCMatrix44d Adjoint (void) const
void  SetOuterProduct (const CSIBCVector4Dd &in_vct1, const CSIBCVector4Dd &in_vct2)

Friends

bool  AreAlmostEqual (const CSIBCMatrix44d &in_mat1, const CSIBCMatrix44d &in_mat2, const double in_dEpsilon=PICO_EPS)

Detailed Description

Class representing matricies with 4 rows, and 4 columns.

CSIBCMatrix44d objects represent matricies, and define a set of operations which are useful in the context of a matrix.

This class uses double precision floating point numbers to store element values. There exists three other matrix classes, CSIBCMatrix4x4, CSIBCMatrix33d and CSIBCMatrixMNd. They are used to represent 4x4 matricies with single precision floating-point numbers, 3x3 matricies with double precision floating-point numbers, and MxN matricies with double precision floating-point numbers, respectively.


Constructor & Destructor Documentation

CSIBCMatrix44d ( void   ) 

Default constructor Sets all elements in the matrix to zero.

See also:
CSIBCMatrix44d::SetNull

CSIBCMatrix44d ( const CSIBCVector4Dd in_vct0,
const CSIBCVector4Dd in_vct1,
const CSIBCVector4Dd in_vct2,
const CSIBCVector4Dd in_vct3,
const bool  in_bAreRows = true  
)

Constructor. Sets the rows of the new matrix to be in_vct0, in_vct1, in_vct2, and in_vct3. If in_bAreRows is false, then the input vectors are used as the columns of the new matrix.

Parameters:
[in]  in_vct0  The vector to use for the first row (or column) of the matrix.
[in]  in_vct1  The vector to use for the second row (or column) of the matrix.
[in]  in_vct2  The vector to use for the third row (or column) of the matrix.
[in]  in_vct3  The vector to use for the fourth row (or column) of the matrix.
[in]  in_bAreRows  Whether the vectors given represent rows or columns of the matrix (true == Rows, false == Columns). Defaults to true (rows).

CSIBCMatrix44d ( const double  in_dA00,
const double  in_dA01,
const double  in_dA02,
const double  in_dA03,
const double  in_dA10,
const double  in_dA11,
const double  in_dA12,
const double  in_dA13,
const double  in_dA20,
const double  in_dA21,
const double  in_dA22,
const double  in_dA23,
const double  in_dA30,
const double  in_dA31,
const double  in_dA32,
const double  in_dA33  
)

Constructor. Specifies the value of each element in the new matrix.

Parameters:
[in]  in_dA00  The value for the element in row 1, column 1.
[in]  in_dA01  The value for the element in row 1, column 2.
[in]  in_dA02  The value for the element in row 1, column 3.
[in]  in_dA03  The value for the element in row 1, column 4.
[in]  in_dA10  The value for the element in row 2, column 1.
[in]  in_dA11  The value for the element in row 2, column 2.
[in]  in_dA12  The value for the element in row 2, column 3.
[in]  in_dA13  The value for the element in row 2, column 4.
[in]  in_dA20  The value for the element in row 3, column 1.
[in]  in_dA21  The value for the element in row 3, column 2.
[in]  in_dA22  The value for the element in row 3, column 3.
[in]  in_dA23  The value for the element in row 3, column 4.
[in]  in_dA30  The value for the element in row 4, column 1.
[in]  in_dA31  The value for the element in row 4, column 2.
[in]  in_dA32  The value for the element in row 4, column 3.
[in]  in_dA33  The value for the element in row 4, column 4.


Member Function Documentation

double Get ( const int  in_nRow,
const int  in_nCol  
) const

Returns a single element of the matrix matching the specified row and column index.

Parameters:
[in]  in_nRow  Row index of the element to retrieve (zero indexed).
[in]  in_nCol  Column index of the element to retrieve (zero indexed).
Returns:
The value of the element at the given matrix position.
See also:
CSIBCMatrix44d::Set(int, int, const double)

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& Set ( int  in_nRow,
int  in_nCol,
const double  in_dVal  
)

Sets a single element of the matrix matching the specified row and column index.

Parameters:
[in]  in_nRow  Row index of the element to set (zero indexed).
[in]  in_nCol  Column index of the element to set (zero indexed).
[in]  in_dVal  Value for the element.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& Set ( const double  in_dA00,
const double  in_dA01,
const double  in_dA02,
const double  in_dA03,
const double  in_dA10,
const double  in_dA11,
const double  in_dA12,
const double  in_dA13,
const double  in_dA20,
const double  in_dA21,
const double  in_dA22,
const double  in_dA23,
const double  in_dA30,
const double  in_dA31,
const double  in_dA32,
const double  in_dA33  
)

Sets all elements of the matrix by explicitly passing each double value as input parameters.

Parameters:
[in]  in_dA00  The value for the element in row 1, column 1.
[in]  in_dA01  The value for the element in row 1, column 2.
[in]  in_dA02  The value for the element in row 1, column 3.
[in]  in_dA03  The value for the element in row 1, column 4.
[in]  in_dA10  The value for the element in row 2, column 1.
[in]  in_dA11  The value for the element in row 2, column 2.
[in]  in_dA12  The value for the element in row 2, column 3.
[in]  in_dA13  The value for the element in row 2, column 4.
[in]  in_dA20  The value for the element in row 3, column 1.
[in]  in_dA21  The value for the element in row 3, column 2.
[in]  in_dA22  The value for the element in row 3, column 3.
[in]  in_dA23  The value for the element in row 3, column 4.
[in]  in_dA30  The value for the element in row 4, column 1.
[in]  in_dA31  The value for the element in row 4, column 2.
[in]  in_dA32  The value for the element in row 4, column 3.
[in]  in_dA33  The value for the element in row 4, column 4.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

CSIBCMatrix44d& Set ( const double  in_dArray[4][4]  ) 

Sets all elements of the matrix by passing in a 4x4 array.

Parameters:
[in]  in_dArray  4x4 array of double values, containing the new values for all the matrix elements.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& Set ( const double *  in_dPtr  )  [inline]

Sets all elements of the matrix by passing in a pointer to a 4x4 array.

Parameters:
[in]  in_dPtr  4x4 array of double values, containing the new values for all the matrix elements.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

CSIBCMatrix44d& Set ( const CSIBCMatrix44d in_mat  ) 

Sets all elements of the matrix by copying the values of the specified matrix.

Parameters:
[in]  in_mat  Matrix to copy all element values from.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& SetRow ( const int  in_nRow,
const CSIBCVector4Dd in_vct  
)

Sets all elements in the specified row of the matrix by passing in a vector of values for that row.

Parameters:
[in]  in_nRow  Row index of the row to set (zero indexed).
[in]  in_vct  Vector containing the values to replace the specified row elements with.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& SetRow ( const int  in_nRow,
double  in_dA0,
double  in_dA1,
double  in_dA2,
double  in_dA3  
)

Sets all elements in the specified row of the matrix by passing in a list of double values for that row.

Parameters:
[in]  in_nRow  Row index of the row to set (zero indexed).
[in]  in_dA0  Value for the element in the first column of the row.
[in]  in_dA1  Value for the element in the second column of the row.
[in]  in_dA2  Value for the element in the third column of the row.
[in]  in_dA3  Value for the element in the fourth column of the row.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& SetCol ( const int  in_nCol,
const CSIBCVector4Dd in_vct  
)

Sets all elements in the specified column of the matrix by passing in a vector of values for that column.

Parameters:
[in]  in_nCol  Column index of the column to set (zero indexed).
[in]  in_vct  Vector containing the values to replace the specified column elements with.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& SetCol ( const int  in_nCol,
double  in_dA0,
double  in_dA1,
double  in_dA2,
double  in_dA3  
)

Sets all elements in the specified column of the matrix by passing in a list of double values for that column.

Parameters:
[in]  in_nCol  Column index of the column to set (zero indexed).
[in]  in_dA0  Value for the element in the first row of the column.
[in]  in_dA1  Value for the element in the second row of the column.
[in]  in_dA2  Value for the element in the third row of the column.
[in]  in_dA3  Value for the element in the fourth row of the column.
See also:
CSIBCMatrix44d::Set

CSIBCMatrix44d::SetRow

CSIBCMatrix44d::SetCol

CSIBCMatrix44d::Get

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& SetNull (  ) 

Sets all elements in the matrix to zero.

Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::SetIdentity

CSIBCMatrix44d::Set

CSIBCMatrix44d& SetIdentity (  ) 

Sets this matrix to be the identity matrix.

Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::SetNull

CSIBCMatrix44d::Set

Reimplemented in CSIBCXfoMatd.

bool operator== ( const CSIBCMatrix44d in_mat  )  const

Determines whether all corresponding elements of this matrix and in_mat are exactly equal.

Parameters:
[in]  in_mat  The matrix to compare equality with.
Return values:
true  if the matrices are exactly equal
false  otherwise
See also:
CSIBCMatrix44d::AreAlmostEqual

CSIBCMatrix44d::operator!=

Reimplemented in CSIBCXfoMatd.

bool operator!= ( const CSIBCMatrix44d in_mat  )  const

Determines whether any corresponding elements of this matrix and in_mat are different.

Parameters:
[in]  in_mat  The matrix to compare inequality with.
Return values:
true  if the matricies differ in any element
false  otherwise
See also:
CSIBCMatrix44d::AreAlmostEqual

CSIBCMatrix44d::operator==

Reimplemented in CSIBCXfoMatd.

bool IsNull ( const double  in_dEpsilon = PICO_EPS  )  const

Determines whether all elements of this matrix are zero. Since this function uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
[in]  in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS
Return values:
true  if the matrix elements are all zero
false  otherwise
See also:
CSIBCMatrix44d::SetNull

CSIBCMatrix44d::AreAlmostEqual

CSIBCMatrix44d::operator==

CSIBCMatrix44d& Add ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2  
)

Computes the matrix addition of two matricies, and stores the result in this matrix.

Parameters:
[in]  in_mat1  The first matrix to add.
[in]  in_mat2  The second matrix to add.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Add

CSIBCMatrix44d::Sub

CSIBCMatrix44d& Add ( const CSIBCMatrix44d in_mat  ) 

Computes the matrix addition of this matrix and in_mat, and stores the result in this matrix.

Parameters:
[in]  in_mat  The matrix to add to this matrix.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Add

CSIBCMatrix44d::Sub

CSIBCMatrix44d& Sub ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2  
)

Computes the difference of two matricies (in_mat1 - in_mat2) and stores the result in this matrix.

Parameters:
[in]  in_mat1  The matrix to subtract from.
[in]  in_mat2  The matrix to subtract.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Sub

CSIBCMatrix44d::Add

CSIBCMatrix44d& Sub ( const CSIBCMatrix44d in_mat  ) 

Computes the difference of this matrix and in_mat2 (this - in_mat) and stores the result in this matrix.

Parameters:
[in]  in_mat  The matrix to subtract.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Sub

CSIBCMatrix44d::Add

CSIBCMatrix44d& Mul ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2  
)

Computes the matrix multiplication of two matricies (in_mat1 * in_mat2) and stores the result in this matrix.

Parameters:
[in]  in_mat1  The first matrix in the multiplication (on the left).
[in]  in_mat2  The second matrix in the multiplication (on the right).
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::MulTransByReg

CSIBCMatrix44d::MulRegByTrans

CSIBCMatrix44d::Div

CSIBCMatrix44d& Mul ( const CSIBCMatrix44d in_mat  ) 

Computes the matrix multiplication of this matrix and in_mat (this * in_mat) and stores the result in this matrix.

Parameters:
[in]  in_mat  The matrix to right-multiply this matrix by.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::MulTransByReg

CSIBCMatrix44d::MulRegByTrans

CSIBCMatrix44d::Div

CSIBCMatrix44d& MulTransByReg ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2  
)

Computes the matrix multiplication of the transpose of in_mat1 and in_mat2 (in_mat1^T * in_mat2) and stores the result in this matrix.

Parameters:
[in]  in_mat1  The first matrix in the multiplication (on the left), to be transposed before multiplication.
[in]  in_mat2  The second matrix in the multiplication (on the right).
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::MulRegByTrans

CSIBCMatrix44d::Div

CSIBCMatrix44d& MulRegByTrans ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2  
)

Computes the matrix multiplication of in_mat1 and the transpose of in_mat2 (in_mat1 * in_mat2^T) and stores the result in this matrix.

Parameters:
[in]  in_mat1  The first matrix in the multiplication (on the left).
[in]  in_mat2  The second matrix in the multiplication (on the right), to be transposed before multiplication.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::MulTransByReg

CSIBCMatrix44d::Div

CSIBCMatrix44d& Negate ( const CSIBCMatrix44d in_mat  ) 

Sets this matrix to the negative of in_mat. The 'negative' of a matrix is produced by multiplying each element of the matrix by -1.

Parameters:
[in]  in_mat  Matrix containing the data to set this matrix to the negative of.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Negate()

CSIBCMatrix44d& Negate (  ) 

Sets this matrix to its negative. The 'negative' of a matrix is produced by multiplying each element of the matrix by -1.

Returns:
Reference to this matrix
See also:
CSIBCMatrix44d::Negate( const CSIBCMatrix44d& )

CSIBCMatrix44d& Mul ( const double  in_dFactor,
const CSIBCMatrix44d in_mat  
)

Scales each element of in_mat by in_dFactor, and assigns the result to the corresponding element in this matrix.

Parameters:
[in]  in_dFactor  Scaling factor for elements of in_mat
[in]  in_mat  The input matrix, to scale and assign to this matrix.
Returns:
Reference to this matrix
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::Div

CSIBCMatrix44d& Mul ( const CSIBCMatrix44d in_mat,
const double  in_dFactor  
)

Scales each element of in_mat by in_dFactor, and assigns the result to the corresponding element in this matrix.

Parameters:
[in]  in_mat  The input matrix, to scale and assign to this matrix.
[in]  in_dFactor  Scaling factor for elements of in_mat
Returns:
Reference to this matrix
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::Div

CSIBCMatrix44d& Mul ( const double  in_dFactor  ) 

Scales each component of this matrix by in_dFactor

Parameters:
[in]  in_dFactor  Scaling factor for elements in this matrix
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Mul

CSIBCMatrix44d::Div

CSIBCMatrix44d& Div ( const CSIBCMatrix44d in_mat,
const double  in_dFactor  
)

Divides each component of in_mat by in_dFactor and assigns the result to the corresponding element in this matrix.

Parameters:
[in]  in_mat  The input matrix, to divide and assign to this matrix.
[in]  in_dFactor  Dividing factor for elements of in_mat
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Div

CSIBCMatrix44d::Mul

CSIBCMatrix44d& Div ( const double  in_dFactor  ) 

Divides each component of this matrix by in_dFactor.

Parameters:
[in]  in_dFactor  Dividing factor for elements of this matrix.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Div

CSIBCMatrix44d::Mul

double GetDet ( void   )  const

Computes the determinant of this matrix.

Returns:
The determinant of this matrix.
See also:
CSIBCMatrix44d::GetDet(int, int)

CSIBCMatrix44d::GetTrace

Reimplemented in CSIBCXfoMatd.

double GetDet ( int  in_nRow,
int  in_nCol  
) const

Computes the determinant of the 3x3 matrix formed by removing row in_nRow, and column in_nCol from this matrix.

Parameters:
[in]  in_nRow  The row to remove from this matrix.
[in]  in_nCol  The column to remove from this matrix.
Returns:
The determinant of the 3x3 matrix.
See also:
CSIBCMatrix44d::GetDet()

CSIBCMatrix44d::GetTrace

double GetTrace ( void   )  const

Computes the trace of this matrix. A trace is the sum of all the diagonal elements of a matrix.

Returns:
The trace of this matrix.
See also:
CSIBCMatrix44d::GetDet

Reimplemented in CSIBCXfoMatd.

CSIBCMatrix44d& Transpose ( const CSIBCMatrix44d in_mat  ) 

Sets this matrix to be the transpose of in_mat.

Parameters:
[in]  in_mat  Matrix containing the transpose of the desired matrix.
Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Transpose()

CSIBCMatrix44d::TransposeInverse

CSIBCMatrix44d& Transpose ( void   ) 

Sets this matrix to its transpose.

Returns:
Reference to this matrix.
See also:
CSIBCMatrix44d::Transpose( const CSIBCMatrix44d& )

CSIBCMatrix44d::TransposeInverse

Reimplemented in CSIBCXfoMatd.

bool Invert ( const CSIBCMatrix44d in_mat  ) 

Sets this matrix to be the inverse of in_mat.

Parameters:
[in]  in_mat  Matrix containing the inverse of the desired matrix.
Return values:
true  if in_mat could be inverted and the assignment was successful
false  otherwise
See also:
CSIBCMatrix44d::Invert()

CSIBCMatrix44d::TransposeInverse

bool Invert ( void   ) 

Sets this matrix to its inverse.

Return values:
true  if this matrix could be inverted and the assignment was successful
false  otherwise
See also:
CSIBCMatrix44d::Invert( const CSIBCMatrix44d& )

CSIBCMatrix44d::TransposeInverse

Reimplemented in CSIBCXfoMatd.

bool TransposeInverse ( const CSIBCMatrix44d in_mat  ) 

Sets this matrix to the transpose of the inverse of in_mat.

Parameters:
[in]  in_mat  Matrix containing the transpose of the inverse of the desired matrix.
Return values:
true  if the matrix could be inverted (and transposed) and assignment was successful
false  otherwise
See also:
CSIBCMatrix44d::TransposeInverse()

CSIBCMatrix44d::Transpose

CSIBCMatrix44d::Invert

bool TransposeInverse ( void   ) 

Sets this matrix to the transpose of the inverse of itself.

Return values:
true  if the matrix could be inverted (and transposed) and assignment was successful
false  otherwise
See also:
CSIBCMatrix44d::TransposeInverse( const CSIBCMatrix44d& )

CSIBCMatrix44d::Transpose

CSIBCMatrix44d::Invert

CSIBCMatrix44d& Symmetry ( CSIBCMatrix44d in_mat  )  const

Not implemented yet

Parameters:
in_mat  n/a

CSIBCMatrix44d& Symmetry ( void   )  const

Not implemented yet

CSIBCMatrix44d& Adjoint ( CSIBCMatrix44d in_mat  )  const

Not implemented yet

Parameters:
in_mat  n/a

CSIBCMatrix44d& Adjoint ( void   )  const

Not implemented yet

void SetOuterProduct ( const CSIBCVector4Dd in_vct1,
const CSIBCVector4Dd in_vct2  
)

Not implemented yet

Parameters:
in_vct1  n/a
in_vct2  n/a


Friends And Related Function Documentation

bool AreAlmostEqual ( const CSIBCMatrix44d in_mat1,
const CSIBCMatrix44d in_mat2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Determines whether all corresponding elements of the matricies in_mat1 and in_mat2 are equal. Since this method uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
[in]  in_mat1  First matrix for equality comparison.
[in]  in_mat2  Second matrix for equality comparison.
[in]  in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Return values:
true  if the matrices are equal
false  otherwise
See also:
CSIBCMatrix44d::operator==

CSIBCMatrix44d::operator!=


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