PMatrix< FRealDouble, 3, 3 >

TODO(mlentine): Do not use 4x4 matrix for 3x3 implementation.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

TMatrix

PMatrix< FRealDouble, 3, 3 >

References

Module

ChaosCore

Header

/Engine/Source/Runtime/Experimental/ChaosCore/Public/Chaos/Matrix.h

Include

#include "Chaos/Matrix.h"

Syntax

template<>
class PMatrix< FRealDouble, 3, 3 > : public UE::Math::TMatrix< FRealDouble >

Remarks

TODO(mlentine): Do not use 4x4 matrix for 3x3 implementation.

Functions

Name Description

Public function Const

FRealDouble

 

Determinant()

Public function Const

bool

 

Equals

(
    const PMatrix< FRealDouble, 3, 3 > ...,
    FRealDouble Tolerance
)

Public function Static

PMatrix< FRe...

 

FromDiagonal

(
    const TVector< FRealDouble, 3 >& D
)

Return a diagonal matrix with the specified elements

Public function Const

FRealDouble

 

GetAt

(
    int32 RowIndex,
    int32 ColIndex
)

Public function Const

TVector< FRe...

 

GetAxis

(
    int32 AxisIndex
)

Get the specified axis (0-indexed, X,Y,Z).

Public function Const

TVector< FRe...

 

GetColumn

(
    int32 ColumnIndex
)

Get the specified column (0-indexed, X,Y,Z).

Public function Const

TVector< FRe...

 

GetDiagonal()

Get the diagonal elements as a vector.

Public function Const

TVector< FRe...

 

GetRow

(
    int32 RowIndex
)

Get the specified row (0-indexed, X,Y,Z).

Public function Const

PMatrix< FRe...

 

GetTransposed()

Public function Const

TVector< FRe...

 

LargestColumnNormalized()

Public function

 

PMatrix

(
    const TVector< FRealDouble, 3 >& C...,
    const TVector< FRealDouble, 3 >& C...,
    const TVector< FRealDouble, 3 >& C...
)

Public function

 

PMatrix

(
    const FRealDouble x00,
    const FRealDouble x11,
    const FRealDouble x22
)

Public function

 

PMatrix

(
    const FRealDouble x
)

Public function

 

PMatrix

(
    const UE::Math::TMatrix< FRealDoubl...
)

Public function

 

PMatrix

(
    const UE::Math::TMatrix< FRealSingl...
)

Public function

 

PMatrix

(
    UE::Math::TMatrix< FRealDouble >&&...
)

Public function

 

PMatrix

(
    const FRealDouble x00,
    const FRealDouble x10,
    const FRealDouble x20,
    const FRealDouble x01,
    const FRealDouble x11,
    const FRealDouble x21,
    const FRealDouble x02,
    const FRealDouble x12,
    const FRealDouble x22
)

Public function

 

PMatrix

(
    const FRealDouble x00,
    const FRealDouble x10,
    const FRealDouble x20,
    const FRealDouble x11,
    const FRealDouble x21,
    const FRealDouble x22
)

Public function

 

PMatrix()

Public function

void

 

SetAt

(
    int32 RowIndex,
    int32 ColIndex,
    FRealDouble V
)

Public function

void

 

SetAxis

(
    int32 AxisIndex,
    const TVector< FRealDouble, 3 >& A...
)

Set the specified axis (0-indexed, X,Y,Z).

Public function

void

 

SetColumn

(
    int32 ColumnIndex,
    const TVector< FRealDouble, 3 >& V
)

Set the specified column.

Public function

void

 

SetRow

(
    int32 RowIndex,
    const TVector< FRealDouble, 3 >& V
)

Set the specified row.

Public function Const

PMatrix< FRe...

 

SubtractDiagonal

(
    const FRealDouble Scalar
)

Public function Const

PMatrix< FRe...

 

SymmetricCofactorMatrix()

Operators

Name Description

Public function Const

PMatrix< FRe...

 

operator-

(
    const PMatrix< FRealDouble, 3, 3 > ...
)

Public function Const

PMatrix< FRe...

 

operator*

(
    const PMatrix< FRealDouble, 3, 3 > ...
)

Public function Const

TVector< FRe...

 

operator*

(
    const TVector< FRealDouble, 3 >& O...
)

TDOD(mlentine): This should really be a vector multiply and sum for each entry using sse.

Public function Const

PMatrix< FRe...

 

operator*

(
    const PMatrix< FRealDouble, 3, 2 > ...
)

Public function Const

PMatrix< FRe...

 

operator*

(
    const FRealDouble Other
)

Needs to be overridden because base version multiplies M[3][3].

Public function

PMatrix< FRe...

 

operator*=

(
    const FRealDouble Other
)

Needs to be overridden because base version multiplies M[3][3].

Public function Const

PMatrix< FRe...

 

operator+

(
    const PMatrix< FRealDouble, 3, 3 > ...
)

Public function

PMatrix< FRe...

 

operator+=

(
    const PMatrix< FRealDouble, 3, 3 > ...
)

Constants

Name

Description

Identity

Zero