UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TransformCalculus2D.h File Reference
#include "CoreTypes.h"
#include "Misc/AssertionMacros.h"
#include "Math/UnrealMathUtility.h"
#include "Math/Vector2D.h"
#include "Math/TransformCalculus.h"
#include <type_traits>

Go to the source code of this file.

Classes

class  TScale2< T >
 
struct  ConcatenateRules< float, TScale2< T > >
 
struct  ConcatenateRules< double, TScale2< T > >
 
struct  ConcatenateRules< TScale2< T >, float >
 
struct  ConcatenateRules< TScale2< T >, double >
 
class  TShear2< T >
 
class  TQuat2< T >
 
class  TMatrix2x2< T >
 
struct  ConcatenateRules< float, TMatrix2x2< T > >
 
struct  ConcatenateRules< double, TMatrix2x2< T > >
 
struct  ConcatenateRules< TScale2< T >, TMatrix2x2< T > >
 
struct  ConcatenateRules< TShear2< T >, TMatrix2x2< T > >
 
struct  ConcatenateRules< TQuat2< T >, TMatrix2x2< T > >
 
struct  ConcatenateRules< TMatrix2x2< T >, float >
 
struct  ConcatenateRules< TMatrix2x2< T >, double >
 
struct  ConcatenateRules< TMatrix2x2< T >, TScale2< T > >
 
struct  ConcatenateRules< TMatrix2x2< T >, TShear2< T > >
 
struct  ConcatenateRules< TMatrix2x2< T >, TQuat2< T > >
 
struct  ConcatenateRules< TScale2< T >, TShear2< T > >
 
struct  ConcatenateRules< TScale2< T >, TQuat2< T > >
 
struct  ConcatenateRules< TShear2< T >, TScale2< T > >
 
struct  ConcatenateRules< TQuat2< T >, TScale2< T > >
 
struct  ConcatenateRules< TShear2< T >, TQuat2< T > >
 
struct  ConcatenateRules< TQuat2< T >, TShear2< T > >
 
class  TTransform2< T >
 
struct  TIsPODType< FTransform2f >
 
struct  TIsPODType< FTransform2d >
 
struct  TransformCalculusHelper::TIsTransform2< T >
 
struct  TransformCalculusHelper::TIsTransform2< FTransform2f >
 
struct  TransformCalculusHelper::TIsTransform2< FTransform2d >
 
struct  ConcatenateRules< std::enable_if_t<!TransformCalculusHelper::TIsTransform2< TransformType >::Value, FTransform2f >, TransformType >
 
struct  ConcatenateRules< std::enable_if_t<!TransformCalculusHelper::TIsTransform2< TransformType >::Value, FTransform2d >, TransformType >
 
struct  ConcatenateRules< TransformType, std::enable_if_t<!TransformCalculusHelper::TIsTransform2< TransformType >::Value, FTransform2f > >
 
struct  ConcatenateRules< TransformType, std::enable_if_t<!TransformCalculusHelper::TIsTransform2< TransformType >::Value, FTransform2d > >
 

Namespaces

namespace  UE
 
namespace  UE::Math
 
namespace  TransformCalculusHelper
 

Typedefs

typedef TScale2< floatFScale2f
 
typedef TScale2< doubleFScale2d
 
typedef FScale2f FScale2D
 
typedef TShear2< floatFShear2f
 
typedef TShear2< doubleFShear2d
 
typedef FShear2f FShear2D
 
typedef TQuat2< floatFQuat2f
 
typedef TQuat2< doubleFQuat2d
 
typedef FQuat2f FQuat2D
 
typedef TMatrix2x2< floatFMatrix2x2f
 
typedef TMatrix2x2< doubleFMatrix2x2d
 
typedef FMatrix2x2f FMatrix2x2
 
typedef TTransform2< floatFTransform2f
 
typedef TTransform2< doubleFTransform2d
 
typedef FTransform2f FTransform2D
 

Functions

template<typename T >
UE::Math::TVector2< T > UE::Math::Concatenate (const UE::Math::TVector2< T > &LHS, const UE::Math::TVector2< T > &RHS)
 
template<typename T >
UE::Math::TVector2< T > Inverse (const UE::Math::TVector2< T > &Transform)
 
template<typename T >
UE::Math::TVector2< T > TransformPoint (const UE::Math::TVector2< T > &Transform, const UE::Math::TVector2< T > &Point)
 
template<typename T >
const UE::Math::TVector2< T > & TransformVector (const UE::Math::TVector2< T > &Transform, const UE::Math::TVector2< T > &Vector)
 
template<typename PositionType >
UE::Math::TVector2< PositionType > TransformPoint (float Transform, const UE::Math::TVector2< PositionType > &Point)
 
template<typename PositionType >
UE::Math::TVector2< PositionType > TransformPoint (double Transform, const UE::Math::TVector2< PositionType > &Point)
 
template<typename VectorType >
UE::Math::TVector2< VectorType > TransformVector (float Transform, const UE::Math::TVector2< VectorType > &Vector)
 
template<typename VectorType >
UE::Math::TVector2< VectorType > TransformVector (double Transform, const UE::Math::TVector2< VectorType > &Vector)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const TScale2< T > &Scale, const UE::Math::TVector2< V > &Translation)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const TShear2< T > &Shear, const UE::Math::TVector2< V > &Translation)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const TQuat2< T > &Rot, const UE::Math::TVector2< V > &Translation)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const TMatrix2x2< T > &Transform, const UE::Math::TVector2< V > &Translation)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const TTransform2< T > &Transform, const UE::Math::TVector2< V > &Translation)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const UE::Math::TVector2< V > &Translation, const TScale2< T > &Scale)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const UE::Math::TVector2< V > &Translation, const TShear2< T > &Shear)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const UE::Math::TVector2< V > &Translation, const TQuat2< T > &Rot)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const UE::Math::TVector2< V > &Translation, const TMatrix2x2< T > &Transform)
 
template<typename T , typename V >
TTransform2< T > Concatenate (const UE::Math::TVector2< V > &Translation, const TTransform2< T > &Transform)
 

Typedef Documentation

◆ FMatrix2x2

◆ FMatrix2x2d

◆ FMatrix2x2f

◆ FQuat2d

◆ FQuat2D

◆ FQuat2f

Base typedefs

◆ FScale2d

◆ FScale2D

◆ FScale2f

Base typedefs

◆ FShear2d

◆ FShear2D

◆ FShear2f

Base typedefs

◆ FTransform2d

◆ FTransform2D

◆ FTransform2f

Function Documentation

◆ Concatenate() [1/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const TMatrix2x2< T > &  Transform,
const UE::Math::TVector2< V > &  Translation 
)
inline

Specialization for concatenating 2D generalized transform and 2D Translation.

◆ Concatenate() [2/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const TQuat2< T > &  Rot,
const UE::Math::TVector2< V > &  Translation 
)
inline

Specialization for concatenating 2D Rotation and 2D Translation.

◆ Concatenate() [3/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const TScale2< T > &  Scale,
const UE::Math::TVector2< V > &  Translation 
)
inline

Specialization for concatenating a 2D scale and 2D Translation.

◆ Concatenate() [4/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const TShear2< T > &  Shear,
const UE::Math::TVector2< V > &  Translation 
)
inline

Specialization for concatenating a 2D shear and 2D Translation.

◆ Concatenate() [5/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const TTransform2< T > &  Transform,
const UE::Math::TVector2< V > &  Translation 
)
inline

Specialization for concatenating transform and 2D Translation.

◆ Concatenate() [6/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const UE::Math::TVector2< V > &  Translation,
const TMatrix2x2< T > &  Transform 
)
inline

Specialization for concatenating 2D Translation and 2D generalized transform. See docs for TTransform2<T>::Inverse for details on how this math is derived.

◆ Concatenate() [7/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const UE::Math::TVector2< V > &  Translation,
const TQuat2< T > &  Rot 
)
inline

Specialization for concatenating 2D Translation and 2D Rotation.

◆ Concatenate() [8/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const UE::Math::TVector2< V > &  Translation,
const TScale2< T > &  Scale 
)
inline

Specialization for concatenating a 2D Translation and 2D scale.

◆ Concatenate() [9/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const UE::Math::TVector2< V > &  Translation,
const TShear2< T > &  Shear 
)
inline

Specialization for concatenating a 2D Translation and 2D shear.

◆ Concatenate() [10/10]

template<typename T , typename V >
TTransform2< T > Concatenate ( const UE::Math::TVector2< V > &  Translation,
const TTransform2< T > &  Transform 
)
inline

Specialization for concatenating 2D Translation and transform. See docs for TTransform2<T>::Inverse for details on how this math is derived.

◆ Inverse()

template<typename T >
UE::Math::TVector2< T > Inverse ( const UE::Math::TVector2< T > &  Transform)
inline

Specialization for inverting a 2D translation.

◆ TransformPoint() [1/3]

template<typename T >
UE::Math::TVector2< T > TransformPoint ( const UE::Math::TVector2< T > &  Transform,
const UE::Math::TVector2< T > &  Point 
)
inline

Specialization for TVector2 Translation.

◆ TransformPoint() [2/3]

template<typename PositionType >
UE::Math::TVector2< PositionType > TransformPoint ( double  Transform,
const UE::Math::TVector2< PositionType > &  Point 
)
inline

◆ TransformPoint() [3/3]

template<typename PositionType >
UE::Math::TVector2< PositionType > TransformPoint ( float  Transform,
const UE::Math::TVector2< PositionType > &  Point 
)
inline

Specialization for uniform Scale.

◆ TransformVector() [1/3]

template<typename T >
const UE::Math::TVector2< T > & TransformVector ( const UE::Math::TVector2< T > &  Transform,
const UE::Math::TVector2< T > &  Vector 
)
inline

Specialization for FVector2D Translation (does nothing).

◆ TransformVector() [2/3]

template<typename VectorType >
UE::Math::TVector2< VectorType > TransformVector ( double  Transform,
const UE::Math::TVector2< VectorType > &  Vector 
)
inline

◆ TransformVector() [3/3]

template<typename VectorType >
UE::Math::TVector2< VectorType > TransformVector ( float  Transform,
const UE::Math::TVector2< VectorType > &  Vector 
)
inline

Specialization for uniform Scale.