UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::PMatrix< FRealSingle, 3, 3 > Class Reference

#include <Matrix.h>

+ Inheritance diagram for Chaos::PMatrix< FRealSingle, 3, 3 >:

Public Member Functions

 PMatrix ()
 
 PMatrix (UE::Math::TMatrix< FRealSingle > &&Other)
 
 PMatrix (const UE::Math::TMatrix< FRealSingle > &Other)
 
 PMatrix (const UE::Math::TMatrix< FRealDouble > &Other)
 
 PMatrix (const FRealSingle x00, const FRealSingle x11, const FRealSingle x22)
 
 PMatrix (const TVector< FRealSingle, 3 > &Vector)
 
 PMatrix (const FRealSingle x00, const FRealSingle x10, const FRealSingle x20, const FRealSingle x11, const FRealSingle x21, const FRealSingle x22)
 
 PMatrix (const FRealSingle x00, const FRealSingle x10, const FRealSingle x20, const FRealSingle x01, const FRealSingle x11, const FRealSingle x21, const FRealSingle x02, const FRealSingle x12, const FRealSingle x22)
 
 PMatrix (const FRealSingle x)
 
 PMatrix (const TVector< FRealSingle, 3 > &C1, const TVector< FRealSingle, 3 > &C2, const TVector< FRealSingle, 3 > &C3)
 
PMatrix< FRealSingle, 3, 3 > GetTransposed () const
 
FRealSingle Determinant () const
 
PMatrix< FRealSingle, 3, 3 > & operator+= (const PMatrix< FRealSingle, 3, 3 > &Other)
 
TVector< FRealSingle, 3 > operator* (const TVector< FRealSingle, 3 > &Other) const
 
PMatrix< FRealSingle, 3, 3 > operator+ (const PMatrix< FRealSingle, 3, 3 > &Other) const
 
PMatrix< FRealSingle, 3, 3 > operator- (const PMatrix< FRealSingle, 3, 3 > &Other) const
 
PMatrix< FRealSingle, 3, 3 > operator* (const PMatrix< FRealSingle, 3, 3 > &Other) const
 
PMatrix< FRealSingle, 3, 3 > operator* (const FRealSingle Other) const
 
PMatrix< FRealSingle, 3, 3 > operator*= (const FRealSingle Other)
 
PMatrix< FRealSingle, 3, 2 > operator* (const PMatrix< FRealSingle, 3, 2 > &Other) const
 
PMatrix< FRealSingle, 3, 3 > SubtractDiagonal (const FRealSingle Scalar) const
 
PMatrix< FRealSingle, 3, 3 > SymmetricCofactorMatrix () const
 
TVector< FRealSingle, 3 > LargestColumnNormalized () const
 
FORCEINLINE TVector< FRealSingle, 3 > GetAxis (int32 AxisIndex) const
 
FORCEINLINE void SetAxis (int32 AxisIndex, const TVector< FRealSingle, 3 > &Axis)
 
FORCEINLINE TVector< FRealSingle, 3 > GetRow (int32 RowIndex) const
 
FORCEINLINE void SetRow (int32 RowIndex, const TVector< FRealSingle, 3 > &V)
 
FORCEINLINE TVector< FRealSingle, 3 > GetColumn (int32 ColumnIndex) const
 
FORCEINLINE void SetColumn (int32 ColumnIndex, const TVector< FRealSingle, 3 > &V)
 
FORCEINLINE TVector< FRealSingle, 3 > GetDiagonal () const
 
FORCEINLINE FRealSingle GetAt (int32 RowIndex, int32 ColIndex) const
 
FORCEINLINE void SetAt (int32 RowIndex, int32 ColIndex, FRealSingle V)
 
bool Equals (const PMatrix< FRealSingle, 3, 3 > &Other, FRealSingle Tolerance=UE_KINDA_SMALL_NUMBER) const
 
- Public Member Functions inherited from UE::Math::TMatrix< FRealSingle >
void DiagnosticCheckNaN () const
 
 TMatrix ()=default
 
 TMatrix (EForceInit)
 
 TMatrix (const TPlane< FRealSingle > &InX, const TPlane< FRealSingle > &InY, const TPlane< FRealSingle > &InZ, const TPlane< FRealSingle > &InW)
 
 TMatrix (const TVector< FRealSingle > &InX, const TVector< FRealSingle > &InY, const TVector< FRealSingle > &InZ, const TVector< FRealSingle > &InW)
 
 TMatrix (const TMatrix< FArg > &From)
 
void SetIdentity ()
 
TMatrix< FRealSingle > operator* (const TMatrix< FRealSingle > &Other) const
 
TMatrix< FRealSingle > operator* (FRealSingle Other) const
 
void operator*= (const TMatrix< FRealSingle > &Other)
 
void operator*= (FRealSingle Other)
 
TMatrix< FRealSingle > operator+ (const TMatrix< FRealSingle > &Other) const
 
void operator+= (const TMatrix< FRealSingle > &Other)
 
bool operator== (const TMatrix< FRealSingle > &Other) const
 
bool Equals (const TMatrix< FRealSingle > &Other, FRealSingle Tolerance=UE_KINDA_SMALL_NUMBER) const
 
bool operator!= (const TMatrix< FRealSingle > &Other) const
 
TVector4< FRealSingle > TransformFVector4 (const TVector4< FRealSingle > &V) const
 
TVector4< FRealSingle > TransformPosition (const TVector< FRealSingle > &V) const
 
TVector< FRealSingle > InverseTransformPosition (const TVector< FRealSingle > &V) const
 
TVector4< FRealSingle > TransformVector (const TVector< FRealSingle > &V) const
 
TVector< FRealSingle > InverseTransformVector (const TVector< FRealSingle > &V) const
 
TMatrix< FRealSingle > GetTransposed () const
 
FRealSingle Determinant () const
 
FRealSingle RotDeterminant () const
 
TMatrix< FRealSingle > InverseFast () const
 
TMatrix< FRealSingle > Inverse () const
 
TMatrix< FRealSingle > TransposeAdjoint () const
 
void RemoveScaling (FRealSingle Tolerance=UE_SMALL_NUMBER)
 
TMatrix< FRealSingle > GetMatrixWithoutScale (FRealSingle Tolerance=UE_SMALL_NUMBER) const
 
TVector< FRealSingle > ExtractScaling (FRealSingle Tolerance=UE_SMALL_NUMBER)
 
TVector< FRealSingle > GetScaleVector (FRealSingle Tolerance=UE_SMALL_NUMBER) const
 
TMatrix< FRealSingle > RemoveTranslation () const
 
TMatrix< FRealSingle > ConcatTranslation (const TVector< FRealSingle > &Translation) const
 
bool ContainsNaN () const
 
void ScaleTranslation (const TVector< FRealSingle > &Scale3D)
 
FRealSingle GetMinimumAxisScale () const
 
FRealSingle GetMaximumAxisScale () const
 
TMatrix< FRealSingle > ApplyScale (FRealSingle Scale) const
 
TVector< FRealSingle > GetOrigin () const
 
TVector< FRealSingle > GetScaledAxis (EAxis::Type Axis) const
 
void GetScaledAxes (TVector< FRealSingle > &X, TVector< FRealSingle > &Y, TVector< FRealSingle > &Z) const
 
TVector< FRealSingle > GetUnitAxis (EAxis::Type Axis) const
 
void GetUnitAxes (TVector< FRealSingle > &X, TVector< FRealSingle > &Y, TVector< FRealSingle > &Z) const
 
void SetAxis (int32 i, const TVector< FRealSingle > &Axis)
 
void SetOrigin (const TVector< FRealSingle > &NewOrigin)
 
void SetAxes (const TVector< FRealSingle > *Axis0=NULL, const TVector< FRealSingle > *Axis1=NULL, const TVector< FRealSingle > *Axis2=NULL, const TVector< FRealSingle > *Origin=NULL)
 
TVector< FRealSingle > GetColumn (int32 i) const
 
void SetColumn (int32 i, TVector< FRealSingle > Value)
 
CORE_API UE::Math::TRotator< FRealSingle > Rotator () const
 
CORE_API UE::Math::TQuat< FRealSingle > ToQuat () const
 
void To3x4MatrixTranspose (FRealSingle *Out) const
 
void To3x4MatrixTranspose (float *Out) const
 
bool GetFrustumNearPlane (TPlane< FRealSingle > &OuTPln) const
 
bool GetFrustumFarPlane (TPlane< FRealSingle > &OuTPln) const
 
bool GetFrustumLeftPlane (TPlane< FRealSingle > &OuTPln) const
 
bool GetFrustumRightPlane (TPlane< FRealSingle > &OuTPln) const
 
bool GetFrustumTopPlane (TPlane< FRealSingle > &OuTPln) const
 
bool GetFrustumBottomPlane (TPlane< FRealSingle > &OuTPln) const
 
void Mirror (EAxis::Type MirrorAxis, EAxis::Type FlipAxis)
 
FString ToString () const
 
void DebugPrint () const
 
uint32 ComputeHash () const
 
bool Serialize (FArchive &Ar)
 
bool SerializeFromMismatchedTag (FName StructTag, FArchive &Ar)
 

Static Public Member Functions

static PMatrix< FRealSingle, 3, 3 > FromDiagonal (const TVector< FRealSingle, 3 > &D)
 
static PMatrix< FRealSingle, 3, 3 > OuterProduct (const TVector< FRealSingle, 3 > &X, const TVector< FRealSingle, 3 > &Y)
 

Static Public Attributes

static const PMatrix< FRealSingle, 3, 3 > Zero = PMatrix<FRealSingle, 3, 3>(0, 0, 0)
 
static const PMatrix< FRealSingle, 3, 3 > Identity = PMatrix<FRealSingle, 3, 3>(1, 1, 1)
 
- Static Public Attributes inherited from UE::Math::TMatrix< FRealSingle >
static CORE_API const TMatrix Identity
 

Friends

PMatrix< FRealSingle, 3, 3 > operator+ (const PMatrix< FRealSingle, 3, 3 > &Other)
 
PMatrix< FRealSingle, 3, 3 > operator- (const PMatrix< FRealSingle, 3, 3 > &Other)
 
PMatrix< FRealSingle, 3, 3 > operator* (const FRealSingle OtherF, const PMatrix< FRealSingle, 3, 3 > &OtherM)
 

Additional Inherited Members

- Public Types inherited from UE::Math::TMatrix< FRealSingle >
using FReal = FRealSingle
 
- Public Attributes inherited from UE::Math::TMatrix< FRealSingle >
FRealSingle M [4][4]
 

Constructor & Destructor Documentation

◆ PMatrix() [1/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( )
inline

◆ PMatrix() [2/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( UE::Math::TMatrix< FRealSingle > &&  Other)
inline

◆ PMatrix() [3/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const UE::Math::TMatrix< FRealSingle > &  Other)
inline

◆ PMatrix() [4/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const UE::Math::TMatrix< FRealDouble > &  Other)
inline

◆ PMatrix() [5/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const FRealSingle  x00,
const FRealSingle  x11,
const FRealSingle  x22 
)
inline

◆ PMatrix() [6/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const TVector< FRealSingle, 3 > &  Vector)
inlineexplicit

◆ PMatrix() [7/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const FRealSingle  x00,
const FRealSingle  x10,
const FRealSingle  x20,
const FRealSingle  x11,
const FRealSingle  x21,
const FRealSingle  x22 
)
inline

◆ PMatrix() [8/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const FRealSingle  x00,
const FRealSingle  x10,
const FRealSingle  x20,
const FRealSingle  x01,
const FRealSingle  x11,
const FRealSingle  x21,
const FRealSingle  x02,
const FRealSingle  x12,
const FRealSingle  x22 
)
inline

◆ PMatrix() [9/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const FRealSingle  x)
inline

◆ PMatrix() [10/10]

Chaos::PMatrix< FRealSingle, 3, 3 >::PMatrix ( const TVector< FRealSingle, 3 > &  C1,
const TVector< FRealSingle, 3 > &  C2,
const TVector< FRealSingle, 3 > &  C3 
)
inline

Member Function Documentation

◆ Determinant()

FRealSingle Chaos::PMatrix< FRealSingle, 3, 3 >::Determinant ( ) const
inline

◆ Equals()

bool Chaos::PMatrix< FRealSingle, 3, 3 >::Equals ( const PMatrix< FRealSingle, 3, 3 > &  Other,
FRealSingle  Tolerance = UE_KINDA_SMALL_NUMBER 
) const
inline

◆ FromDiagonal()

static PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::FromDiagonal ( const TVector< FRealSingle, 3 > &  D)
inlinestatic

Return a diagonal matrix with the specified elements

◆ GetAt()

FORCEINLINE FRealSingle Chaos::PMatrix< FRealSingle, 3, 3 >::GetAt ( int32  RowIndex,
int32  ColIndex 
) const
inline

◆ GetAxis()

FORCEINLINE TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::GetAxis ( int32  AxisIndex) const
inline

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

Note
: we are treating matrices as column major, so axis elements are sequential in memory

◆ GetColumn()

FORCEINLINE TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::GetColumn ( int32  ColumnIndex) const
inline

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

Note
: we are treating matrices as column major, so columns are sequential in memory @seealso GetAxis, GetRow

◆ GetDiagonal()

FORCEINLINE TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::GetDiagonal ( ) const
inline

Get the diagonal elements as a vector.

◆ GetRow()

FORCEINLINE TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::GetRow ( int32  RowIndex) const
inline

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

Note
: we are treating matrices as column major, so rows are not sequential in memory @seealso GetAxis, GetColumn

◆ GetTransposed()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::GetTransposed ( ) const
inline

◆ LargestColumnNormalized()

TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::LargestColumnNormalized ( ) const
inline

◆ operator*() [1/4]

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator* ( const FRealSingle  Other) const
inline

◆ operator*() [2/4]

PMatrix< FRealSingle, 3, 2 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator* ( const PMatrix< FRealSingle, 3, 2 > &  Other) const
inline

◆ operator*() [3/4]

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator* ( const PMatrix< FRealSingle, 3, 3 > &  Other) const
inline

◆ operator*() [4/4]

TVector< FRealSingle, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator* ( const TVector< FRealSingle, 3 > &  Other) const
inline

◆ operator*=()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator*= ( const FRealSingle  Other)
inline

◆ operator+()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator+ ( const PMatrix< FRealSingle, 3, 3 > &  Other) const
inline

◆ operator+=()

PMatrix< FRealSingle, 3, 3 > & Chaos::PMatrix< FRealSingle, 3, 3 >::operator+= ( const PMatrix< FRealSingle, 3, 3 > &  Other)
inline

◆ operator-()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::operator- ( const PMatrix< FRealSingle, 3, 3 > &  Other) const
inline

◆ OuterProduct()

static PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::OuterProduct ( const TVector< FRealSingle, 3 > &  X,
const TVector< FRealSingle, 3 > &  Y 
)
inlinestatic

◆ SetAt()

FORCEINLINE void Chaos::PMatrix< FRealSingle, 3, 3 >::SetAt ( int32  RowIndex,
int32  ColIndex,
FRealSingle  V 
)
inline

◆ SetAxis()

FORCEINLINE void Chaos::PMatrix< FRealSingle, 3, 3 >::SetAxis ( int32  AxisIndex,
const TVector< FRealSingle, 3 > &  Axis 
)
inline

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

Note
: we are treating matrices as column major, so axis elements are sequential in memory

◆ SetColumn()

FORCEINLINE void Chaos::PMatrix< FRealSingle, 3, 3 >::SetColumn ( int32  ColumnIndex,
const TVector< FRealSingle, 3 > &  V 
)
inline

Set the specified column. Equivalent to SetAxis.

Note
: we are treating matrices as column major, so axis elements are sequential in memory @seealso SetAxis, SetRow

◆ SetRow()

FORCEINLINE void Chaos::PMatrix< FRealSingle, 3, 3 >::SetRow ( int32  RowIndex,
const TVector< FRealSingle, 3 > &  V 
)
inline

Set the specified row.

Note
: we are treating matrices as column major, so axis elements are sequential in memory @seealso SetAxis, SetColumn

◆ SubtractDiagonal()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::SubtractDiagonal ( const FRealSingle  Scalar) const
inline

◆ SymmetricCofactorMatrix()

PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::SymmetricCofactorMatrix ( ) const
inline

Friends And Related Symbol Documentation

◆ operator*

PMatrix< FRealSingle, 3, 3 > operator* ( const FRealSingle  OtherF,
const PMatrix< FRealSingle, 3, 3 > &  OtherM 
)
friend

◆ operator+

PMatrix< FRealSingle, 3, 3 > operator+ ( const PMatrix< FRealSingle, 3, 3 > &  Other)
friend

◆ operator-

PMatrix< FRealSingle, 3, 3 > operator- ( const PMatrix< FRealSingle, 3, 3 > &  Other)
friend

Member Data Documentation

◆ Identity

const PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::Identity = PMatrix<FRealSingle, 3, 3>(1, 1, 1)
static

◆ Zero

const PMatrix< FRealSingle, 3, 3 > Chaos::PMatrix< FRealSingle, 3, 3 >::Zero = PMatrix<FRealSingle, 3, 3>(0, 0, 0)
static

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