Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
om::math::MatrixND< T, 3, 3 > Class Template Reference

A class that represents a 3x3 matrix. More...

#include <omMatrix3D.h>

Public Member Functions

 MatrixND ()
 Create a 3x3 matrix with all elements equal to zero. More...
 
 MatrixND (const VectorND< T, 3 > &column1, const VectorND< T, 3 > &column2, const VectorND< T, 3 > &column3)
 Create a 3x3 matrix from three column vectors. More...
 
 MatrixND (T a, T b, T c, T d, T e, T f, T g, T h, T i)
 Create a 3x3 matrix with elements specified in row-major order. More...
 
 MatrixND (const T array[9])
 Create a 3x3 matrix from a pointer to an array of elements in column-major order. More...
 
template<typename U >
 MatrixND (const MatrixND< U, 2, 2 > &other)
 Create an identity matrx with the specified 2x2 matrix in the upper-left corner. More...
 
template<typename U >
 MatrixND (const MatrixND< U, 3, 3 > &other)
 Create a copy of the specified 3x3 matrix with different template parameter type. More...
 
T * toArrayColumnMajor ()
 Return a pointer to the matrix's elements in colunn-major order. More...
 
const T * toArrayColumnMajor () const
 Return a pointer to the matrix's elements in colunn-major order. More...
 
void toArrayRowMajor (T *outputArray) const
 Place the elements of the matrix at the location specified in row-major order. More...
 
VectorND< T, 3 > & getColumn (Index columnIndex)
 Get the column at the specified index in the matrix. More...
 
const VectorND< T, 3 > & getColumn (Index columnIndex) const
 Get the column at the specified index in the matrix. More...
 
VectorND< T, 3 > & operator() (Index columnIndex)
 Get the column at the specified index in the matrix. More...
 
const VectorND< T, 3 > & operator() (Index columnIndex) const
 Get the column at the specified index in the matrix. More...
 
VectorND< T, 3 > & operator[] (Index columnIndex)
 Get the column at the specified index in the matrix. More...
 
const VectorND< T, 3 > & operator[] (Index columnIndex) const
 Get the column at the specified index in the matrix. More...
 
VectorND< T, 3 > getRow (Index rowIndex) const
 Get the row at the specified index in the matrix. More...
 
T & get (Index columnIndex, Index rowIndex)
 Get the element at the specified (column, row) index in the matrix. More...
 
const T & get (Index columnIndex, Index rowIndex) const
 Get the element at the specified (column, row) index in the matrix. More...
 
T & operator() (Index columnIndex, Index rowIndex)
 Get the element at the specified (column, row) index in the matrix. More...
 
const T & operator() (Index columnIndex, Index rowIndex) const
 Get the element at the specified (column, row) index in the matrix. More...
 
void set (Index rowIndex, Index columnIndex, T value)
 Set the element in the matrix at the specified (row, column) index. More...
 
void setColumn (Index columnIndex, const VectorND< T, 3 > &newColumn)
 Set the column in the matrix at the specified index. More...
 
void setRow (Index rowIndex, const VectorND< T, 3 > &newRow)
 Set the row in the matrix at the specified index. More...
 
VectorND< T, 3 > getDiagonal () const
 Return the diagonal vector of this matrix. More...
 
MatrixND< T, 2, 2 > getXY () const
 Return the upper-left 2x2 submatrix of this matrix. More...
 
getDeterminant () const
 Return the determinant of this matrix. More...
 
MatrixND invert (T threshold=0) const
 Return the inverse of this matrix, or the zero matrix if the matrix has no inverse. More...
 
Bool invert (MatrixND &inverse, T threshold=0) const
 Compute the inverse of this matrix, returning the result in the output parameter. More...
 
MatrixND orthonormalize () const
 Return the orthonormalization of this matrix. More...
 
MatrixND transpose () const
 Return the transposition of this matrix. More...
 
Bool operator== (const MatrixND &m) const
 Compare two matrices component-wise for equality. More...
 
Bool operator!= (const MatrixND &m) const
 Compare two matrices component-wise for inequality. More...
 
MatrixND operator- () const
 Negate every element of this matrix and return the resulting matrix. More...
 
MatrixND operator+ () const
 'Positivate' every element of this matrix, returning a copy of the original matrix. More...
 
MatrixND operator+ (const MatrixND &matrix) const
 Add this matrix to another and return the resulting matrix. More...
 
MatrixND operator+ (const T &value) const
 Add a scalar to the elements of this matrix and return the resulting matrix. More...
 
MatrixND operator- (const MatrixND &matrix) const
 Subtract a matrix from this matrix and return the resulting matrix. More...
 
MatrixND operator- (const T &value) const
 Subtract a scalar from the elements of this matrix and return the resulting matrix. More...
 
MatrixND operator* (const MatrixND &matrix) const
 Multiply a matrix by this matrix and return the result. More...
 
VectorND< T, 3 > operator* (const VectorND< T, 3 > &vector) const
 Multiply a vector/point by this matrix and return the result. More...
 
MatrixND operator* (const T &value) const
 Multiply the elements of this matrix by a scalar and return the resulting matrix. More...
 
MatrixND operator/ (const T &value) const
 Divide the elements of this matrix by a scalar and return the resulting matrix. More...
 
MatrixNDoperator+= (const MatrixND &matrix)
 Add the elements of another matrix to this matrix. More...
 
MatrixNDoperator+= (const T &value)
 Add a scalar value to the elements of this matrix. More...
 
MatrixNDoperator-= (const MatrixND &matrix)
 Subtract the elements of another matrix from this matrix. More...
 
MatrixNDoperator-= (const T &value)
 Subtract a scalar value from the elements of this matrix. More...
 
MatrixNDoperator*= (const T &value)
 Multiply the elements of this matrix by a scalar value. More...
 
MatrixNDoperator/= (const T &value)
 Divide the elements of this matrix by a scalar value. More...
 
data::String toString () const
 Convert this 3x3 matrix into a human-readable string representation. More...
 
 operator data::String () const
 Convert this 3x3 matrix into a human-readable string representation. More...
 

Static Public Member Functions

static MatrixND skewSymmetric (const VectorND< T, 3 > &vector)
 Return a skew-symmetric matrix using the elements of the specified vector. More...
 
static MatrixND planeBasis (const VectorND< T, 3 > &normal)
 Return an orthogonal matrix defining a basis for the coordinate frame of a plane with the specified normal. More...
 
static MatrixND rotateX (T xAngle)
 Create a 3x3 rotation matrix about the X-axis with the angle in radians. More...
 
static MatrixND rotateY (T yAngle)
 Create a 3x3 rotation matrix about the Y-axis with the angle in radians. More...
 
static MatrixND rotateZ (T zAngle)
 Create a 3x3 rotation matrix about the Z-axis with the angle in radians. More...
 
static MatrixND rotateXDegrees (T xAngle)
 Create a 3x3 rotation matrix about the X-axis with the angle in degrees. More...
 
static MatrixND rotateYDegrees (T yAngle)
 Create a 3x3 rotation matrix about the Y-axis with the angle in degrees. More...
 
static MatrixND rotateZDegrees (T zAngle)
 Create a 3x3 rotation matrix about the Z-axis with the angle in degrees. More...
 
static MatrixND rotateXYZ (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the XYZ order. More...
 
static MatrixND rotateXYZ (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the XYZ order. More...
 
static MatrixND rotateXZY (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the XZY order. More...
 
static MatrixND rotateXZY (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the XZY order. More...
 
static MatrixND rotateYXZ (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the YXZ order. More...
 
static MatrixND rotateYXZ (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the YXZ order. More...
 
static MatrixND rotateYZX (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the YZX order. More...
 
static MatrixND rotateYZX (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the YZX order. More...
 
static MatrixND rotateZXY (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the ZXY order. More...
 
static MatrixND rotateZXY (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the ZXY order. More...
 
static MatrixND rotateZYX (T xAngle, T yAngle, T zAngle)
 Create a 3x3 rotation matrix from Euler angles in the ZYX order. More...
 
static MatrixND rotateZYX (const VectorND< T, 3 > &angle)
 Create a 3x3 rotation matrix from Euler angles in the ZYX order. More...
 

Public Attributes

VectorND< T, 3 > x
 The first column vector of the matrix. More...
 
VectorND< T, 3 > y
 The second column vector of the matrix. More...
 
VectorND< T, 3 > z
 The third column vector of the matrix. More...
 

Static Public Attributes

static const MatrixND ZERO
 Constant matrix with all elements equal to zero. More...
 
static const MatrixND IDENTITY
 Constant matrix with diagonal elements equal to one and all others equal to zero. More...
 

Detailed Description

template<typename T>
class om::math::MatrixND< T, 3, 3 >

A class that represents a 3x3 matrix.

Elements in the matrix are stored in column-major order.

Constructor & Destructor Documentation

template<typename T >
om::math::MatrixND< T, 3, 3 >::MatrixND ( )
inline

Create a 3x3 matrix with all elements equal to zero.

template<typename T >
om::math::MatrixND< T, 3, 3 >::MatrixND ( const VectorND< T, 3 > &  column1,
const VectorND< T, 3 > &  column2,
const VectorND< T, 3 > &  column3 
)
inline

Create a 3x3 matrix from three column vectors.

template<typename T >
om::math::MatrixND< T, 3, 3 >::MatrixND ( a,
b,
c,
d,
e,
f,
g,
h,
i 
)
inline

Create a 3x3 matrix with elements specified in row-major order.

template<typename T >
om::math::MatrixND< T, 3, 3 >::MatrixND ( const T  array[9])
inlineexplicit

Create a 3x3 matrix from a pointer to an array of elements in column-major order.

template<typename T >
template<typename U >
om::math::MatrixND< T, 3, 3 >::MatrixND ( const MatrixND< U, 2, 2 > &  other)
inlineexplicit

Create an identity matrx with the specified 2x2 matrix in the upper-left corner.

template<typename T >
template<typename U >
om::math::MatrixND< T, 3, 3 >::MatrixND ( const MatrixND< U, 3, 3 > &  other)
inline

Create a copy of the specified 3x3 matrix with different template parameter type.

Member Function Documentation

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::skewSymmetric ( const VectorND< T, 3 > &  vector)
inlinestatic

Return a skew-symmetric matrix using the elements of the specified vector.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::planeBasis ( const VectorND< T, 3 > &  normal)
inlinestatic

Return an orthogonal matrix defining a basis for the coordinate frame of a plane with the specified normal.

The normal becomes the z-column of the resulting matrix, and X and Y columns are generated robustly from the input normal vector. The normal vector must have non-zero length.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateX ( xAngle)
inlinestatic

Create a 3x3 rotation matrix about the X-axis with the angle in radians.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateY ( yAngle)
inlinestatic

Create a 3x3 rotation matrix about the Y-axis with the angle in radians.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZ ( zAngle)
inlinestatic

Create a 3x3 rotation matrix about the Z-axis with the angle in radians.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateXDegrees ( xAngle)
inlinestatic

Create a 3x3 rotation matrix about the X-axis with the angle in degrees.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateYDegrees ( yAngle)
inlinestatic

Create a 3x3 rotation matrix about the Y-axis with the angle in degrees.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZDegrees ( zAngle)
inlinestatic

Create a 3x3 rotation matrix about the Z-axis with the angle in degrees.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateXYZ ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the XYZ order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateXYZ ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the XYZ order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateXZY ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the XZY order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateXZY ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the XZY order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateYXZ ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the YXZ order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateYXZ ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the YXZ order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateYZX ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the YZX order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateYZX ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the YZX order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZXY ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the ZXY order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZXY ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the ZXY order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZYX ( xAngle,
yAngle,
zAngle 
)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the ZYX order.

template<typename T >
static MatrixND om::math::MatrixND< T, 3, 3 >::rotateZYX ( const VectorND< T, 3 > &  angle)
inlinestatic

Create a 3x3 rotation matrix from Euler angles in the ZYX order.

template<typename T >
T* om::math::MatrixND< T, 3, 3 >::toArrayColumnMajor ( )
inline

Return a pointer to the matrix's elements in colunn-major order.

Since matrix elements are stored in column-major order, no allocation is performed and the elements are accessed directly.

template<typename T >
const T* om::math::MatrixND< T, 3, 3 >::toArrayColumnMajor ( ) const
inline

Return a pointer to the matrix's elements in colunn-major order.

Since matrix elements are stored in column-major order, no allocation is performed and the elements are accessed directly.

template<typename T >
void om::math::MatrixND< T, 3, 3 >::toArrayRowMajor ( T *  outputArray) const
inline

Place the elements of the matrix at the location specified in row-major order.

The output array must be at least 9 elements long.

template<typename T >
VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::getColumn ( Index  columnIndex)
inline

Get the column at the specified index in the matrix.

template<typename T >
const VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::getColumn ( Index  columnIndex) const
inline

Get the column at the specified index in the matrix.

template<typename T >
VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::operator() ( Index  columnIndex)
inline

Get the column at the specified index in the matrix.

template<typename T >
const VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::operator() ( Index  columnIndex) const
inline

Get the column at the specified index in the matrix.

template<typename T >
VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::operator[] ( Index  columnIndex)
inline

Get the column at the specified index in the matrix.

template<typename T >
const VectorND<T,3>& om::math::MatrixND< T, 3, 3 >::operator[] ( Index  columnIndex) const
inline

Get the column at the specified index in the matrix.

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::getRow ( Index  rowIndex) const
inline

Get the row at the specified index in the matrix.

template<typename T >
T& om::math::MatrixND< T, 3, 3 >::get ( Index  columnIndex,
Index  rowIndex 
)
inline

Get the element at the specified (column, row) index in the matrix.

template<typename T >
const T& om::math::MatrixND< T, 3, 3 >::get ( Index  columnIndex,
Index  rowIndex 
) const
inline

Get the element at the specified (column, row) index in the matrix.

template<typename T >
T& om::math::MatrixND< T, 3, 3 >::operator() ( Index  columnIndex,
Index  rowIndex 
)
inline

Get the element at the specified (column, row) index in the matrix.

template<typename T >
const T& om::math::MatrixND< T, 3, 3 >::operator() ( Index  columnIndex,
Index  rowIndex 
) const
inline

Get the element at the specified (column, row) index in the matrix.

template<typename T >
void om::math::MatrixND< T, 3, 3 >::set ( Index  rowIndex,
Index  columnIndex,
value 
)
inline

Set the element in the matrix at the specified (row, column) index.

template<typename T >
void om::math::MatrixND< T, 3, 3 >::setColumn ( Index  columnIndex,
const VectorND< T, 3 > &  newColumn 
)
inline

Set the column in the matrix at the specified index.

template<typename T >
void om::math::MatrixND< T, 3, 3 >::setRow ( Index  rowIndex,
const VectorND< T, 3 > &  newRow 
)
inline

Set the row in the matrix at the specified index.

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::getDiagonal ( ) const
inline

Return the diagonal vector of this matrix.

template<typename T >
MatrixND<T,2,2> om::math::MatrixND< T, 3, 3 >::getXY ( ) const
inline

Return the upper-left 2x2 submatrix of this matrix.

template<typename T >
T om::math::MatrixND< T, 3, 3 >::getDeterminant ( ) const
inline

Return the determinant of this matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::invert ( threshold = 0) const
inline

Return the inverse of this matrix, or the zero matrix if the matrix has no inverse.

Whether or not the matrix is invertable is determined by comparing the determinant to a threshold - if the absolute value of the determinant is less than the threshold, the matrix is not invertable.

template<typename T >
Bool om::math::MatrixND< T, 3, 3 >::invert ( MatrixND< T, 3, 3 > &  inverse,
threshold = 0 
) const
inline

Compute the inverse of this matrix, returning the result in the output parameter.

The method returns whether or not the matrix was able to be inverted. This propery is determined by comparing the determinant to a threshold - if the absolute value of the determinant is less than the threshold, the matrix is not invertable.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::orthonormalize ( ) const
inline

Return the orthonormalization of this matrix.

This matrix that is returned has all column vectors of unit length and perpendicular to each other.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::transpose ( ) const
inline

Return the transposition of this matrix.

template<typename T >
Bool om::math::MatrixND< T, 3, 3 >::operator== ( const MatrixND< T, 3, 3 > &  m) const
inline

Compare two matrices component-wise for equality.

template<typename T >
Bool om::math::MatrixND< T, 3, 3 >::operator!= ( const MatrixND< T, 3, 3 > &  m) const
inline

Compare two matrices component-wise for inequality.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator- ( ) const
inline

Negate every element of this matrix and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator+ ( ) const
inline

'Positivate' every element of this matrix, returning a copy of the original matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator+ ( const MatrixND< T, 3, 3 > &  matrix) const
inline

Add this matrix to another and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator+ ( const T &  value) const
inline

Add a scalar to the elements of this matrix and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator- ( const MatrixND< T, 3, 3 > &  matrix) const
inline

Subtract a matrix from this matrix and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator- ( const T &  value) const
inline

Subtract a scalar from the elements of this matrix and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator* ( const MatrixND< T, 3, 3 > &  matrix) const
inline

Multiply a matrix by this matrix and return the result.

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::operator* ( const VectorND< T, 3 > &  vector) const
inline

Multiply a vector/point by this matrix and return the result.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator* ( const T &  value) const
inline

Multiply the elements of this matrix by a scalar and return the resulting matrix.

template<typename T >
MatrixND om::math::MatrixND< T, 3, 3 >::operator/ ( const T &  value) const
inline

Divide the elements of this matrix by a scalar and return the resulting matrix.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator+= ( const MatrixND< T, 3, 3 > &  matrix)
inline

Add the elements of another matrix to this matrix.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator+= ( const T &  value)
inline

Add a scalar value to the elements of this matrix.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator-= ( const MatrixND< T, 3, 3 > &  matrix)
inline

Subtract the elements of another matrix from this matrix.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator-= ( const T &  value)
inline

Subtract a scalar value from the elements of this matrix.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator*= ( const T &  value)
inline

Multiply the elements of this matrix by a scalar value.

template<typename T >
MatrixND& om::math::MatrixND< T, 3, 3 >::operator/= ( const T &  value)
inline

Divide the elements of this matrix by a scalar value.

template<typename T >
data::String om::math::MatrixND< T, 3, 3 >::toString ( ) const
inline

Convert this 3x3 matrix into a human-readable string representation.

template<typename T >
om::math::MatrixND< T, 3, 3 >::operator data::String ( ) const
inline

Convert this 3x3 matrix into a human-readable string representation.

Member Data Documentation

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::x

The first column vector of the matrix.

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::y

The second column vector of the matrix.

template<typename T >
VectorND<T,3> om::math::MatrixND< T, 3, 3 >::z

The third column vector of the matrix.

template<typename T >
const MatrixND< T, 3, 3 > om::math::MatrixND< T, 3, 3 >::ZERO
static

Constant matrix with all elements equal to zero.

template<typename T >
const MatrixND< T, 3, 3 > om::math::MatrixND< T, 3, 3 >::IDENTITY
static

Constant matrix with diagonal elements equal to one and all others equal to zero.


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