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

Methods


o Determinant
public Determinant()
Returns the determinant of this CATMath3x3Matrix.
o Dump
public Dump( iStream=0L)
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 EigenVectors( ioNbEigenValues,
ioEigenValues,
ioHasAssociatedVector,
ioEigenVectors,
ioIsDiagonal)
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 GetCoef( ioA11,
ioA12,
ioA13,
ioA21,
ioA22,
ioA23,
ioA31,
ioA32,
ioA33)
Retrieves the coefficients of this CATMath3x3Matrix.
Matrix= ioA11 ioA12 ioA13
ioA21 ioA22 ioA23
ioA31 ioA32 ioA33
o GetFirstColumn
public GetFirstColumn()
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 GetFirstColumn( ioFirstColumn)
Retrieves the first column of this CATMath3x3Matrix.
o GetSecondColumn
public GetSecondColumn()
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 GetSecondColumn( ioSecondColumn)
Retrieves the second column of this CATMath3x3Matrix.
o GetThirdColumn
public GetThirdColumn()
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 GetThirdColumn( ioThirdColumn)
Retrieves the third column of this CATMath3x3Matrix.
o InfiniteNorm
public InfiniteNorm()
Returns the infinite norm of this CATMath3x3Matrix.
The infinite norm is the supremum of the absolute value of the coefficients.
o Inverse
public Inverse( ioInverse)
Inverses this CATMath3x3Matrix.
Returns:
TRUE if this CATMath3x3Matrix is invertible, FALSE otherwise. In this last case, oInverse is not modified.
o IsIsometry
public IsIsometry()
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 IsScaling()
Returns the diagnostic of this CATMath3x3Matrix scaling.
Returns:
FALSE
if it is not a scaling.
TRUE
if it is a scaling.
o SetCoef
public SetCoef( const iA11,
const iA12,
const iA13,
const iA21,
const iA22,
const iA23,
const iA31,
const iA32,
const iA33)
Sets the coefficients of this CATMath3x3Matrix.
Matrix= iA11 iA12 iA13
iA21 iA22 iA23
iA31 iA32 iA33
o SetFirstColumn
public SetFirstColumn( const iFirstColumn)
Modifies the first column of this CATMath3x3Matrix.
o SetMatrix
public SetMatrix( const iFirstColumn,
const iSecondColumn,
const iThirdColumn)
Modifies the columns of this CATMath3x3Matrix .
o SetSecondColumn
public SetSecondColumn( const iSecondColumn)
Modifies the second column of this CATMath3x3Matrix.
o SetThirdColumn
public SetThirdColumn( const iThirdColumn)
Modifies the third column of this CATMath3x3Matrix.
o Trace
public Trace()
Returns the trace of this CATMath3x3Matrix.
o Transpose
public Transpose( ioTransposed)
Transposes this CATMath3x3Matrix.

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

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.