VisualizationFoundation CAT4x4Matrix

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


public class CAT4x4Matrix

Class to create a 3D matrix.
Role: This object manages matrix transformations appliables to 3D elements, in the homogeneous coordinate system, enabling so translations and rotations to be viewed as matrix operations.
The CAT4x4Matrix is commonly used to define the transformation that is to be applied to CAT3DBagRep objects.


Constructor and Destructor Index


o CAT4x4Matrix(void)
Constructs an identity 3D matrix.
o CAT4x4Matrix(CATMathAxis&)
Constructs a 3D matrix from axis.
o CAT4x4Matrix(CAT4x4Matrix&)
Constructs an 3D matrix from an other 3D matrix.
o CAT4x4Matrix(CATMathVectorf&)
Constructs a 3D translation matrix from a translation vector.
o CAT4x4Matrix(float**,CATMathVectorf&)
Constructs a 3D matrix from a float array and a translation vector.
o CAT4x4Matrix(CATMathVectorf&,CATMathPointf&)
Constructs a 3D matrix from a rotation and angle vector and an invariant point.
o CAT4x4Matrix(CATMathVectorf&,CATMathVectorf&,CATMathPointf&)
Constructs a 3D matrix from a translation vector, a rotation and angle vector and an invariant point.
o CAT4x4Matrix(CATMathVector&,CATMathVector&,CATMathVector&,CATMathVector&)
Constructs a 3D matrix from 4 vectors.
o CAT4x4Matrix(CATMathVectorf&,CATMathVectorf&,CATMathVectorf&,CATMathVectorf&)
Constructs a 3D matrix from 4 vectors.
o ~CAT4x4Matrix(void)
Destructor.

Method Index


o ComputeInverseTransposeThirdColumnNormalized(float*)
Computes an Inversed, Transposed with the third column normalized 3D matrix.
o GetComponents(CATMathVector&,CATMathVector&,CATMathVector&,CATMathPoint&)
Gets the 3D matrix components.
o GetComponents(CATMathVectorf&,CATMathVectorf&,CATMathVectorf&,CATMathPointf&)
Gets the 3D matrix components.
o GetComponents(CATMathDirectionf&,CATMathDirectionf&,CATMathDirectionf&,CATMathPointf&)
Gets the 3D matrix components.
o GetDeterminant(void)
Gets the determinant of the 3D matrix.
o GetInvertedMatrix(CAT4x4Matrix&)
Gets the inverted 3D matrix.
o GetMatrix(double[16])
Gets the 3D matrix elements.
o GetMatrix(void)
o GetScaling(void)
Gets the scaling factor of the 3D matrix.
o GetTranslation(CATMathVector&)
Gets the 3D matrix translation vector.
o GetTranslation(CATMathVectorf&)
Gets the 3D matrix translation vector.
o IsIdentity(void)
Indicates if the 3D matrix is an identity matrix.
o SetComponents(CATMathVector&,CATMathVector&,CATMathVector&,CATMathPoint&)
Sets the 3D matrix components.
o SetComponents(CATMathVectorf&,CATMathVectorf&,CATMathVectorf&,CATMathPointf&)
Sets the 3D matrix components.
o SetComponents(CATMathDirection&,CATMathDirection&,CATMathDirection&,CATMathPoint&)
Sets the 3D matrix components.
o SetComponents(CATMathDirectionf&,CATMathDirectionf&,CATMathDirectionf&,CATMathPoint&)
Sets the 3D matrix components.
o SetComponents(CATMathDirectionf&,CATMathDirectionf&,CATMathDirectionf&,CATMathPointf&)
Sets the 3D matrix components.
o SetElement(int,int,double,int)
Sets one element of the 3D matrix.
o SetElements(float*)
Sets all elements of the 3D matrix.
o SetElements(double*)
Sets all elements of the 3D matrix.
o SetTranslation(CATMathVector&,float)
Sets the 3D matrix translation from a vector.
o SetTranslation(CATMathVectorf&,float)
Sets the 3D matrix translation from a vector.
o multiply(CATMathPoint&)
Multiplies the 3D matrix by a point.
o multiply(CATMathPointf&)
Multiplies the 3D matrix by a point.
o multiply(CATMathVector&)
Multiplies the 3D matrix by a vector.
o multiply(CATMathVectorf&)
Multiplies the 3D matrix by a vector.
o multiply(CATMathDirection&)
Multiplies the 3D matrix by a direction.
o multiply(CATMathDirectionf&)
Multiplies the 3D matrix by a direction.
o multiply(CAT4x4Matrix&,CAT4x4Matrix&)
Multiplies a 3D matrix by another 3D matrix.
o operator *(CAT4x4Matrix&)
Multiplication operator.
o operator *(CATMathPoint&)
Multiplies a matrix by a space point.
o operator *(CATMathPointf&)
Multiplies a matrix by a space point.
o operator *(CATMathVector&)
Multiplies a matrix by a space vector.
o operator *(CATMathVectorf&)
Multiplies a matrix by a space vector.
o operator *(CATMathDirection&)
Multiplies a matrix by a space direction.
o operator *(CATMathDirectionf&)
Multiplies a matrix by a space direction.
o operator *=(CAT4x4Matrix&)
Multiplication assignment operator.
o operator =(CAT4x4Matrix&)
Assignment operator.

Constructor and Destructor


o CAT4x4Matrix
public CAT4x4Matrix( )
Constructs an identity 3D matrix.
o CAT4x4Matrix
public CAT4x4Matrix( const iAxis)
Constructs a 3D matrix from axis.
Parameters:
iAxis
The axis.
o CAT4x4Matrix
public CAT4x4Matrix( const )
Constructs an 3D matrix from an other 3D matrix.
o CAT4x4Matrix
public CAT4x4Matrix( const iTra)
Constructs a 3D translation matrix from a translation vector.
Parameters:
iTra
The translation vector.
o CAT4x4Matrix
public CAT4x4Matrix( const iRot,
const iTra)
Constructs a 3D matrix from a float array and a translation vector.
Parameters:
iRot
The rotation float array.
iTra
The translation vector.
o CAT4x4Matrix
public CAT4x4Matrix( const iRot,
const iInv)
Constructs a 3D matrix from a rotation and angle vector and an invariant point.
Parameters:
iRot
The rotation and angle vector.
iInv
the invariant point.
o CAT4x4Matrix
public CAT4x4Matrix( const iTra,
const iRot,
const iInv)
Constructs a 3D matrix from a translation vector, a rotation and angle vector and an invariant point.
Parameters:
iTra
The translation vector.
iRot
The rotation and angle vector.
iInv
the invariant point.
o CAT4x4Matrix
public CAT4x4Matrix( const iU,
const iV,
const iW,
const iTra)
Constructs a 3D matrix from 4 vectors.
Parameters:
iU
The first vector.
iV
The second vector.
iW
The third vector.
iTra
The fourth vector (Translation).
o CAT4x4Matrix
public CAT4x4Matrix( const iU,
const iV,
const iW,
const iTra)
Constructs a 3D matrix from 4 vectors.
Parameters:
iU
The first vector.
iV
The second vector.
iW
The third vector.
iTra
The fourth vector (Translation).
o ~CAT4x4Matrix
public virtual ~CAT4x4Matrix( )
Destructor.

Methods


o ComputeInverseTransposeThirdColumnNormalized
public ComputeInverseTransposeThirdColumnNormalized( oMatrix)
Computes an Inversed, Transposed with the third column normalized 3D matrix.
Parameters:
oMatrix
The components of the resultant 3D matrix.
o GetComponents
public GetComponents( oU,
oV,
oW,
oT)
Gets the 3D matrix components.
Parameters:
oU
The returned U rotation vector.
oV
The returned V rotation vector.
oW
The returned W rotation vector.
oTra
The returned translation point.
o GetComponents
public GetComponents( oU,
oV,
oW,
oT)
Gets the 3D matrix components.
Parameters:
oU
The returned U rotation vector.
oV
The returned V rotation vector.
oW
The returned W rotation vector.
oTra
The returned translation point.
o GetComponents
public GetComponents( oU,
oV,
oW,
oT)
Gets the 3D matrix components.
Parameters:
oU
The returned U rotation direction.
oV
The returned V rotation direction.
oW
The returned W rotation direction.
oTra
The returned translation point.
o GetDeterminant
public GetDeterminant( )
Gets the determinant of the 3D matrix.
Returns:
The value of the determinant.
o GetInvertedMatrix
public GetInvertedMatrix( oMatrix)
Gets the inverted 3D matrix.
Parameters:
oMatrix
The returned inverted matrix.
o GetMatrix
public GetMatrix( ioMatrix)
Gets the 3D matrix elements.
Parameters:
ioMatrix
An array of 16 double to be filled with the matrix elements (4 double for 1st column, 4 double for 2nd column, ...)
o GetMatrix
public GetMatrix( )
Deprecated:
R215 In favor of void GetMatrix(double ioMatrix[16]). Gets the 3D matrix components.
Returns:
The float pointer of the 3D matrix components.
o GetScaling
public GetScaling( )
Gets the scaling factor of the 3D matrix.
Returns:
The value of the scaling factor of the 3D matrix.
o GetTranslation
public GetTranslation( oTra)
Gets the 3D matrix translation vector.
Parameters:
oTra
The returned translation vector.
o GetTranslation
public GetTranslation( oTra)
Gets the 3D matrix translation vector.
Parameters:
oTra
The returned translation vector.
o IsIdentity
public IsIdentity( )
Indicates if the 3D matrix is an identity matrix.
Returns:
The status of the 3D matrix.
o SetComponents
public SetComponents( const iU,
const iV,
const iW,
const iT)
Sets the 3D matrix components.
Parameters:
iU
The U rotation vector.
iV
The V rotation vector.
iW
The W rotation vector.
iTra
The translation point.
o SetComponents
public SetComponents( const iU,
const iV,
const iW,
const iT)
Sets the 3D matrix components.
Parameters:
iU
The U rotation vector.
iV
The V rotation vector.
iW
The W rotation vector.
iTra
The translation point.
o SetComponents
public SetComponents( const iU,
const iV,
const iW,
const iT)
Sets the 3D matrix components.
Parameters:
iU
The U rotation direction.
iV
The V rotation direction.
iW
The W rotation direction.
iTra
The translation point.
o SetComponents
public SetComponents( const iU,
const iV,
const iW,
const iT)
Sets the 3D matrix components.
Parameters:
iU
The U rotation direction.
iV
The V rotation direction.
iW
The W rotation direction.
iTra
The translation point.
o SetComponents
public SetComponents( const iU,
const iV,
const iW,
const iT)
Sets the 3D matrix components.
Parameters:
iU
The U rotation direction.
iV
The V rotation direction.
iW
The W rotation direction.
iTra
The translation point.
o SetElement
public SetElement( iRow,
iCol,
iValue,
iUpdatesDeterminantAndScaling=1)
Sets one element of the 3D matrix.
Parameters:
iRow
The row indice.
iCol
The column indice.
iValue.
The value of the rowth and columnth element to be set.
iUpdateDeterminantAndScaling.
Compute the determinant and the scaling of the matrix if set to 1.
o SetElements
public SetElements( iValues)
Sets all elements of the 3D matrix.
Parameters:
iValues
Array of 16 floats (4 floats for 1st column, 4 floats for 2nd column, ...)
o SetElements
public SetElements( iValues)
Sets all elements of the 3D matrix.
Parameters:
iValues
Array of 16 doubles (4 doubles for 1st column, 4 doubles for 2nd column, ...)
o SetTranslation
public SetTranslation( const iTra,
const w= 1.f)
Sets the 3D matrix translation from a vector.
Parameters:
iTra
The translation vector.
w
Do not use this parameter.
o SetTranslation
public SetTranslation( const iTra,
const w= 1.f)
Sets the 3D matrix translation from a vector.
Parameters:
iTra
The translation vector.
w
Do not use this parameter.
o multiply
public multiply( ioPoint)
Multiplies the 3D matrix by a point.
Parameters:
ioPoint
The point multiply by the matrix and the returned point.
o multiply
public multiply( ioPoint)
Multiplies the 3D matrix by a point.
Parameters:
ioPoint
The point multiply by the matrix and the returned point.
o multiply
public multiply( ioVector)
Multiplies the 3D matrix by a vector.
Parameters:
ioVector
The vector multiply by the matrix and the returned vector.
o multiply
public multiply( ioVector)
Multiplies the 3D matrix by a vector.
Parameters:
ioVector
The vector multiply by the matrix and the returned vector.
o multiply
public multiply( ioDirection)
Multiplies the 3D matrix by a direction.
Parameters:
ioDirection
The direction multiply by the matrix and the returned direction.
o multiply
public multiply( ioDirection)
Multiplies the 3D matrix by a direction.
Parameters:
ioDirection
The direction multiply by the matrix and the returned direction.
o multiply
public multiply( const iMatrix1,
const iMatrix2)
Multiplies a 3D matrix by another 3D matrix.
Parameters:
iMatrix1
The first 3D matrix.
iMatrix2
The second 3D matrix.
o operator *
public operator *( const iMatrix)
Multiplication operator.
Parameters:
iMatrix
The matrix to multiply with the current one
Returns:
The matrix resulting from the multiplication
o operator *
public operator *( const iPoint)
Multiplies a matrix by a space point.
Role: The 3x3 submatrix is multiplied by the point coordinate triplet and the matrix translation vector is added to the multiplication result
Parameters:
iPoint
The point whose coordinate triplet is to be multiplied by the matrix
Returns:
The point resulting from the multiplication
o operator *
public operator *( const iPoint)
Multiplies a matrix by a space point.
Role: The 3x3 submatrix is multiplied by the point coordinate triplet and the matrix translation vector is added to the multiplication result
Parameters:
iPoint
The point whose coordinate triplet is to be multiplied by the matrix
Returns:
The point resulting from the multiplication
o operator *
public operator *( const iVector)
Multiplies a matrix by a space vector.
Role: The 3x3 submatrix is multiplied by the vector component triplet and the matrix translation vector is added to the multiplication result
Parameters:
iVector
The vector whose component triplet is to be multiplied by the matrix
Returns:
The vector resulting from the multiplication
o operator *
public operator *( const iVector)
Multiplies a matrix by a space vector.
Role: The 3x3 submatrix is multiplied by the vector component triplet and the matrix translation vector is added to the multiplication result
Parameters:
iVector
The vector whose component triplet is to be multiplied by the matrix
Returns:
The vector resulting from the multiplication
o operator *
public operator *( const iDirection)
Multiplies a matrix by a space direction.
Role: The 3x3 submatrix is multiplied by the direction component triplet and the matrix translation vector is added to the multiplication result
Parameters:
iDirection
The direction whose component triplet is to be multiplied by the matrix
Returns:
The direction resulting from the multiplication
o operator *
public operator *( const iDirection)
Multiplies a matrix by a space direction.
Role: The 3x3 submatrix is multiplied by the direction component triplet and the matrix translation vector is added to the multiplication result
Parameters:
iDirection
The direction whose component triplet is to be multiplied by the matrix
Returns:
The direction resulting from the multiplication
o operator *=
public operator *=( const iMatrix)
Multiplication assignment operator.
Parameters:
iMatrix
The matrix to multiply with the current one
Returns:
The matrix resulting from the multiplication
o operator =
public operator =( const iMatrix)
Assignment operator.
Parameters:
iMatrix
The matrix to assign to the current one
Returns:
The matrix resulting from the assignment

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

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