Navigation
API > API/Runtime > API/Runtime/GeometryCore
TTransformSRT3 is a variant of the standard UE FTransform/TTransform that uses the UE::Geometry::TQuaternion instead of the UE::Math::TQuat.
Transform order is Scale, then Rotate, then Translate. So mathematically (T * R * S) * v , assuming traditional matrix-vector multiplication order (note that the UE::Math library uses the opposite vector*Matrix ordering for TMatrix!)
Implicit constructors/casts are defined to/from FTransform3d and FTransform3f. This will likely be revised in future so that conversions that lose precision are explicit.
| Name | TTransformSRT3 |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/TransformTypes.h |
| Include Path | #include "TransformTypes.h" |
Syntax
template<typename RealType>
class TTransformSRT3
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| TransformTypes.h | |||
TTransformSRT3
(
const UE::Math::TVector< RealType >& TranslationIn |
TransformTypes.h | ||
TTransformSRT3
(
const FTransform3f& Transform |
TransformTypes.h | ||
TTransformSRT3
(
const FTransform3d& Transform |
TransformTypes.h | ||
TTransformSRT3
(
const TQuaternion< RealType >& RotationIn, |
TransformTypes.h | ||
TTransformSRT3
(
const TQuaternion< RealType >& RotationIn, |
TransformTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanRepresentInverse
(
RealType Tolerance |
Reports wheth the inverse is representable with a single TTransformSRT3. | TransformTypes.h | |
void ClampMinimumScale
(
RealType MinimumScale |
Clamp all scale components to a minimum value. | TransformTypes.h | |
RealType GetDeterminant() |
TransformTypes.h | ||
const TQuaternion< RealType > & GetRotation() |
TransformTypes.h | ||
FRotator GetRotator() |
TransformTypes.h | ||
const TVector< RealType > & GetScale() |
TransformTypes.h | ||
const TVector< RealType > & GetScale3D() |
TransformTypes.h | ||
const TVector< RealType > & GetTranslation() |
TransformTypes.h | ||
bool HasNonUniformScale
(
RealType Tolerance |
TransformTypes.h | ||
TVector< RealType2 > InverseTransformNormal
(
const UE::Math::TVector< RealType2 >& Normal |
Surface Normals are special, their inverse transform is InverseRotate( Normalize(Scale * Normal) ) ) | TransformTypes.h | |
TVector< RealType2 > InverseTransformPosition
(
const UE::Math::TVector< RealType2 >& P |
TransformTypes.h | ||
UE::Math::TRay< RealType > InverseTransformRay
(
const UE::Math::TRay< RealType >& Ray |
TransformTypes.h | ||
TVector< RealType2 > InverseTransformVector
(
const UE::Math::TVector< RealType2 >& V |
TransformTypes.h | ||
TVector< RealType2 > InverseTransformVectorNoScale
(
const UE::Math::TVector< RealType2 >& V |
TransformTypes.h | ||
TTransformSRT3< RealType > InverseUnsafe
(
RealType Tolerance |
Attempts to return an inverse, but will give an incorrect result if the transform has both non-uniform scaling and rotation, because TTransformSRT3 |
TransformTypes.h | |
void SetRotation
(
const TQuaternion< RealType >& RotationIn |
Set Rotation portion of Transform | TransformTypes.h | |
void SetScale
(
const UE::Math::TVector< RealType >& ScaleIn |
Set Scale portion of transform | TransformTypes.h | |
void SetTranslation
(
const UE::Math::TVector< RealType >& TranslationIn |
Set Translation portion of transform | TransformTypes.h | |
TVector< RealType2 > TransformNormal
(
const UE::Math::TVector< RealType2 >& Normal |
Surface Normals are special, their transform is Rotate( Normalize( (1/Scale) * Normal) ) ). However 1/Scale requires special handling in case any component is near-zero. | TransformTypes.h | |
TVector< RealType2 > TransformPosition
(
const TVector< RealType2 >& P |
The following templates perform vector-type-conversion variants. | TransformTypes.h | |
UE::Math::TRay< RealType > TransformRay
(
const UE::Math::TRay< RealType >& Ray |
TransformTypes.h | ||
TVector< RealType2 > TransformVector
(
const UE::Math::TVector< RealType2 >& V |
TransformTypes.h | ||
TVector< RealType2 > TransformVectorNoScale
(
const UE::Math::TVector< RealType2 >& V |
TransformTypes.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| TransformTypes.h | |||
static TTransformSRT3< RealType > Identity() |
TransformTypes.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
operator FTransform3d() |
TransformTypes.h | ||
operator FTransform3f() |
TransformTypes.h |