All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

Mathematics Class CATMath3x3Matrix

CATMath3x3Matrix
 

Usage: you must use this class as is. You should never derive it.


public class CATMath3x3Matrix

Class representing a matrix in dimension 3.

Matrix= A11 A12 A13
A21 A22 A23
A31 A32 A33


Constructor and Destructor Index


o CATMath3x3Matrix()
Constructs the Identity CATMath3x3Matrix.
o CATMath3x3Matrix(CATMath3x3Matrix&)
Copy constructor.
o CATMath3x3Matrix(CATMathVector&)
Constructs the CATMath3x3Matrix of a reflection.
o CATMath3x3Matrix(CATMathVector&,CATAngle&)
Constructs the CATMath3x3Matrix of a rotation around a direction.
o CATMath3x3Matrix(CATMathVector&,CATMathVector&)
Constructs a CATMath3x3Matrix resulting from the product of a CATMathVector by the transpose of another CATMathVector.
o CATMath3x3Matrix(CATMathVector&,CATMathVector&,CATMathVector&)
Constructs a CATMath3x3Matrix from 3 columns.
o CATMath3x3Matrix(double)
Constructs the iA*Identity CATMath3x3Matrix.
o CATMath3x3Matrix(double,double,double)
Constructs a diagonal CATMath3x3Matrix.
o CATMath3x3Matrix(double,double,double,double,double,double,double,double,double)
Constructs a CATMath3x3Matrix from its coefficients.

Method Index


o Determinant()
Returns the determinant of this CATMath3x3Matrix.
o Dump(ostream*)
Dumps this CATMath3x3Matrix.
o EigenVectors(int&,double[3],CATBoolean[3],CATMathVector[3],CATBoolean&)
Retrieves the eigenvalues and eigenvectors of this CATMath3x3Matrix.
o GetCoef(double&,double&,double&,double&,double&,double&,double&,double&,double&)
Retrieves the coefficients of this CATMath3x3Matrix.
o GetFirstColumn()
Retrieves the first column of this CATMath3x3Matrix.
o GetFirstColumn(CATMathVector&)
Retrieves the first column of this CATMath3x3Matrix.
o GetSecondColumn()
Retrieves the second column of this CATMath3x3Matrix.
o GetSecondColumn(CATMathVector&)
Retrieves the second column of this CATMath3x3Matrix.
o GetThirdColumn()
Retrieves the third column of this CATMath3x3Matrix.
o GetThirdColumn(CATMathVector&)
Retrieves the third column of this CATMath3x3Matrix.
o InfiniteNorm()
Returns the infinite norm of this CATMath3x3Matrix.
o Inverse(CATMath3x3Matrix&)
Inverses this CATMath3x3Matrix.
o IsIsometry()
Returns the diagnostic of this CATMath3x3Matrix isometry.
o IsScaling()
Returns the diagnostic of this CATMath3x3Matrix scaling.
o SetCoef(double,double,double,double,double,double,double,double,double)
Sets the coefficients of this CATMath3x3Matrix.
o SetFirstColumn(CATMathVector&)
Modifies the first column of this CATMath3x3Matrix.
o SetMatrix(CATMathVector&,CATMathVector&,CATMathVector&)
Modifies the columns of this CATMath3x3Matrix .
o SetSecondColumn(CATMathVector&)
Modifies the second column of this CATMath3x3Matrix.
o SetThirdColumn(CATMathVector&)
Modifies the third column of this CATMath3x3Matrix.
o Trace()
Returns the trace of this CATMath3x3Matrix.
o Transpose(CATMath3x3Matrix&)
Transposes this CATMath3x3Matrix.

Constructor and Destructor


o CATMath3x3Matrix
public CATMath3x3Matrix()
Constructs the Identity CATMath3x3Matrix.
Returns:
Matrix= 1 0 0
0 1 0
0 0 1
o CATMath3x3Matrix
public CATMath3x3Matrix( const CATMath3x3Matrix& iMatrixToCopy)
Copy constructor.
o CATMath3x3Matrix
public CATMath3x3Matrix( const CATMathVector& iReflectPlaneNormal)
Constructs the CATMath3x3Matrix of a reflection.
o CATMath3x3Matrix
public CATMath3x3Matrix( const CATMathVector& iAxis,
const CATAngle& iAngle)
Constructs the CATMath3x3Matrix of a rotation around a direction.
iAngle is expressed in radians.
o CATMath3x3Matrix
public CATMath3x3Matrix( const CATMathVector& iFirstVector,
const CATMathVector& iVectorToTranspose)
Constructs a CATMath3x3Matrix resulting from the product of a CATMathVector by the transpose of another CATMathVector.
o CATMath3x3Matrix
public CATMath3x3Matrix( const CATMathVector& iFirstColumn,
const CATMathVector& iSecondColumn,
const CATMathVector& iThirdColumn)
Constructs a CATMath3x3Matrix from 3 columns.
o CATMath3x3Matrix
public CATMath3x3Matrix( const double iA)
Constructs the iA*Identity CATMath3x3Matrix.
Returns:
Matrix= iA 0 0
0 iA 0
0 0 iA
o CATMath3x3Matrix
public CATMath3x3Matrix( const double iA11,
const double iA22,
const double iA33)
Constructs a diagonal CATMath3x3Matrix.
Returns:
Matrix= iA11 0 0
0 iA22 0
0 0 iA33
o CATMath3x3Matrix
public CATMath3x3Matrix( const double iA11,
const double iA12,
const double iA13,
const double iA21,
const double iA22,
const double iA23,
const double iA31,
const double iA32,
const double iA33)
Constructs a CATMath3x3Matrix from its coefficients.
Returns:
Matrix= iA11 iA12 iA13
iA21 iA22 iA23
iA31 iA32 iA33

Methods


o Determinant
public double Determinant()const
Returns the determinant of this CATMath3x3Matrix.
o Dump
public void Dump(ostream* iStream=0L) const
Dumps this CATMath3x3Matrix.
This writes the matrix coefficients on the ostream:
| iA11 iA12 iA13 |
| iA21 iA22 iA23 |
| iA31 iA32 iA33 |
Parameters:
iStream
A pointer to the output. If 0L, the method dumps on the cout output.
o EigenVectors
public void EigenVectors(int& ioNbEigenValues,
double[3] ioEigenValues,
CATBoolean[3] ioHasAssociatedVector,
CATMathVector[3] ioEigenVectors,
CATBoolean& ioIsDiagonal) const
Retrieves the eigenvalues and eigenvectors of this CATMath3x3Matrix.
Parameters:
oNbEigenValues
Number of eigenvalues. Multiple eigenvalues are counted as their multiplicity.
oEigenValues
The array of the eigenvalues. You must allocate it to 3 doubles, but the retrieved information is only significant for index from 0 to oNbEigenValues-1.
oHasAssociatedVector
The array to test if there is an eigenvector associated with an eigenvalue. This is not the case when the dimension of the associated eigenspace is less than the multiplicity of the eigenvalue. The array dimension must be 3 (and you must allocate it), but the retrieved information is only significant for index from 0 to oNbEigenValues-1.
oEigenVectors
The array of the eigenvectors. The array dimension must be 3 (and you must allocate it), but the retrieved information is only significant for index from 0 to oNbEigenValues-1 AND oHasAssociatedVector[index]==TRUE.
The eigenvectors are normed.
oIsDiagonal
TRUE if this has 3 eigenvalues and 3 eigenvectors.
o GetCoef
public void GetCoef(double& ioA11,
double& ioA12,
double& ioA13,
double& ioA21,
double& ioA22,
double& ioA23,
double& ioA31,
double& ioA32,
double& ioA33) const
Retrieves the coefficients of this CATMath3x3Matrix.
Matrix= ioA11 ioA12 ioA13
ioA21 ioA22 ioA23
ioA31 ioA32 ioA33
o GetFirstColumn
public CATMathVector GetFirstColumn()const
Retrieves the first column of this CATMath3x3Matrix. The signature which returns the first column in an output argument should be preferably used.
o GetFirstColumn
public void GetFirstColumn(CATMathVector& ioFirstColumn) const
Retrieves the first column of this CATMath3x3Matrix.
o GetSecondColumn
public CATMathVector GetSecondColumn()const
Retrieves the second column of this CATMath3x3Matrix. The signature which returns the second column in an output argument should be preferably used.
o GetSecondColumn
public void GetSecondColumn(CATMathVector& ioSecondColumn) const
Retrieves the second column of this CATMath3x3Matrix.
o GetThirdColumn
public CATMathVector GetThirdColumn()const
Retrieves the third column of this CATMath3x3Matrix. The signature which returns the third column in an output argument should be preferably used.
o GetThirdColumn
public void GetThirdColumn(CATMathVector& ioThirdColumn) const
Retrieves the third column of this CATMath3x3Matrix.
o InfiniteNorm
public double InfiniteNorm()const
Returns the infinite norm of this CATMath3x3Matrix.
The infinite norm is the supremum of the absolute value of the coefficients.
o Inverse
public CATBoolean Inverse(CATMath3x3Matrix& ioInverse) const
Inverses this CATMath3x3Matrix.
Returns:
TRUE if this CATMath3x3Matrix is invertible, FALSE otherwise. In this last case, oInverse is not modified.
o IsIsometry
public CATBoolean IsIsometry()const
Returns the diagnostic of this CATMath3x3Matrix isometry.
Returns:
FALSE
if it is not an isometry.
TRUE
if it is a direct isometry.
o IsScaling
public CATBoolean IsScaling()const
Returns the diagnostic of this CATMath3x3Matrix scaling.
Returns:
FALSE
if it is not a scaling.
TRUE
if it is a scaling.
o SetCoef
public void SetCoef( const double iA11,
const double iA12,
const double iA13,
const double iA21,
const double iA22,
const double iA23,
const double iA31,
const double iA32,
const double iA33)
Sets the coefficients of this CATMath3x3Matrix.
Matrix= iA11 iA12 iA13
iA21 iA22 iA23
iA31 iA32 iA33
o SetFirstColumn
public void SetFirstColumn( const CATMathVector& iFirstColumn)
Modifies the first column of this CATMath3x3Matrix.
o SetMatrix
public void SetMatrix( const CATMathVector& iFirstColumn,
const CATMathVector& iSecondColumn,
const CATMathVector& iThirdColumn)
Modifies the columns of this CATMath3x3Matrix .
o SetSecondColumn
public void SetSecondColumn( const CATMathVector& iSecondColumn)
Modifies the second column of this CATMath3x3Matrix.
o SetThirdColumn
public void SetThirdColumn( const CATMathVector& iThirdColumn)
Modifies the third column of this CATMath3x3Matrix.
o Trace
public double Trace()const
Returns the trace of this CATMath3x3Matrix.
o Transpose
public void Transpose(CATMath3x3Matrix& ioTransposed) const
Transposes this CATMath3x3Matrix.

This object is included in the file: CATMath3x3Matrix.h
If needed, your Imakefile.mk should include the module: CATMathematics

Copyright © 2003, Dassault Systèmes. All rights reserved.