| 
| FORCEINLINE  | TQuat () | 
|   | 
| FORCEINLINE  | TQuat (EForceInit) | 
|   | 
| FORCEINLINE  | TQuat (T InX, T InY, T InZ, T InW) | 
|   | 
| template<TEMPLATE_REQUIRES(std::is_arithmetic< T >::value) >  | 
| FORCEINLINE  | TQuat (T V) | 
|   | 
|   | TQuat (const TRotator< T > &R) | 
|   | 
|   | TQuat (const TMatrix< T > &M) | 
|   | 
|   | TQuat (TVector< T > Axis, T AngleRad) | 
|   | 
| FORCEINLINE TQuat< T >  | operator+ (const TQuat< T > &Q) const | 
|   | 
| FORCEINLINE TQuat< T >  | operator+= (const TQuat< T > &Q) | 
|   | 
| FORCEINLINE TQuat< T >  | operator- (const TQuat< T > &Q) const | 
|   | 
| FORCEINLINE TQuat< T >  | operator- () const | 
|   | 
| FORCEINLINE bool  | Equals (const TQuat< T > &Q, T Tolerance=UE_KINDA_SMALL_NUMBER) const | 
|   | 
| FORCEINLINE bool  | IsIdentity (T Tolerance=UE_SMALL_NUMBER) const | 
|   | 
| FORCEINLINE TQuat< T >  | operator-= (const TQuat< T > &Q) | 
|   | 
| FORCEINLINE TQuat< T >  | operator* (const TQuat< T > &Q) const | 
|   | 
| FORCEINLINE TQuat< T >  | operator*= (const TQuat< T > &Q) | 
|   | 
| TVector< T >  | operator* (const TVector< T > &V) const | 
|   | 
| TMatrix< T >  | operator* (const TMatrix< T > &M) const | 
|   | 
| template<typename FArg , TEMPLATE_REQUIRES(std::is_arithmetic< FArg >::value) >  | 
| FORCEINLINE TQuat< T >  | operator*= (const FArg Scale) | 
|   | 
| template<typename FArg , TEMPLATE_REQUIRES(std::is_arithmetic< FArg >::value) >  | 
| FORCEINLINE TQuat< T >  | operator* (const FArg Scale) const | 
|   | 
| template<typename FArg , TEMPLATE_REQUIRES(std::is_arithmetic< FArg >::value) >  | 
| FORCEINLINE TQuat< T >  | operator/= (const FArg Scale) | 
|   | 
| template<typename FArg , TEMPLATE_REQUIRES(std::is_arithmetic< FArg >::value) >  | 
| FORCEINLINE TQuat< T >  | operator/ (const FArg Scale) const | 
|   | 
| bool  | Identical (const TQuat *Q, const uint32 PortFlags) const | 
|   | 
| bool  | operator== (const TQuat< T > &Q) const | 
|   | 
| bool  | operator!= (const TQuat< T > &Q) const | 
|   | 
| T  | operator| (const TQuat< T > &Q) const | 
|   | 
| TVector< T >  | Euler () const | 
|   | 
| FORCEINLINE void  | Normalize (T Tolerance=UE_SMALL_NUMBER) | 
|   | 
| FORCEINLINE TQuat< T >  | GetNormalized (T Tolerance=UE_SMALL_NUMBER) const | 
|   | 
| bool  | IsNormalized () const | 
|   | 
| FORCEINLINE T  | Size () const | 
|   | 
| FORCEINLINE T  | SizeSquared () const | 
|   | 
| FORCEINLINE T  | GetAngle () const | 
|   | 
| void  | ToAxisAndAngle (TVector< T > &Axis, float &Angle) const | 
|   | 
| void  | ToAxisAndAngle (TVector< T > &Axis, double &Angle) const | 
|   | 
| TVector< T >  | ToRotationVector () const | 
|   | 
| void  | ToSwingTwist (const TVector< T > &InTwistAxis, TQuat< T > &OutSwing, TQuat< T > &OutTwist) const | 
|   | 
| T  | GetTwistAngle (const TVector< T > &TwistAxis) const | 
|   | 
| TVector< T >  | RotateVector (TVector< T > V) const | 
|   | 
| TVector< T >  | UnrotateVector (TVector< T > V) const | 
|   | 
| TQuat< T >  | Log () const | 
|   | 
| TQuat< T >  | Exp () const | 
|   | 
| FORCEINLINE TQuat< T >  | Inverse () const | 
|   | 
| void  | EnforceShortestArcWith (const TQuat< T > &OtherQuat) | 
|   | 
| FORCEINLINE TVector< T >  | GetAxisX () const | 
|   | 
| FORCEINLINE TVector< T >  | GetAxisY () const | 
|   | 
| FORCEINLINE TVector< T >  | GetAxisZ () const | 
|   | 
| FORCEINLINE TVector< T >  | GetForwardVector () const | 
|   | 
| FORCEINLINE TVector< T >  | GetRightVector () const | 
|   | 
| FORCEINLINE TVector< T >  | GetUpVector () const | 
|   | 
| FORCEINLINE TVector< T >  | Vector () const | 
|   | 
| TRotator< T >  | Rotator () const | 
|   | 
| FORCEINLINE TMatrix< T >  | ToMatrix () const | 
|   | 
| void  | ToMatrix (TMatrix< T > &Mat) const | 
|   | 
| FORCEINLINE TVector< T >  | GetRotationAxis () const | 
|   | 
| FORCEINLINE T  | AngularDistance (const TQuat< T > &Q) const | 
|   | 
| bool  | NetSerialize (FArchive &Ar, class UPackageMap *Map, bool &bOutSuccess) | 
|   | 
| bool  | ContainsNaN () const | 
|   | 
| FString  | ToString () const | 
|   | 
| bool  | InitFromString (const FString &InSourceString) | 
|   | 
| FORCEINLINE void  | DiagnosticCheckNaN () const | 
|   | 
| FORCEINLINE void  | DiagnosticCheckNaN (const TCHAR *Message) const | 
|   | 
| bool  | Serialize (FArchive &Ar) | 
|   | 
| bool  | SerializeFromMismatchedTag (FName StructTag, FArchive &Ar) | 
|   | 
| template<typename FArg , TEMPLATE_REQUIRES(!std::is_same_v< T, FArg >) >  | 
|   | TQuat (const TQuat< FArg > &From) | 
|   | 
 | 
| static FORCEINLINE TQuat< T >  | MakeFromVectorRegister (const QuatVectorRegister &V) | 
|   | 
| static FORCEINLINE TQuat< T >  | MakeFromRotator (const TRotator< T > &R) | 
|   | 
| static TQuat< T >  | MakeFromEuler (const TVector< T > &Euler) | 
|   | 
| static TQuat< T >  | MakeFromRotationVector (const TVector< T > &RotationVector) | 
|   | 
| static FORCEINLINE TQuat< T >  | FindBetween (const TVector< T > &Vector1, const TVector< T > &Vector2) | 
|   | 
| static TQuat< T >  | FindBetweenNormals (const TVector< T > &Normal1, const TVector< T > &Normal2) | 
|   | 
| static TQuat< T >  | FindBetweenVectors (const TVector< T > &Vector1, const TVector< T > &Vector2) | 
|   | 
| static FORCEINLINE T  | Error (const TQuat< T > &Q1, const TQuat< T > &Q2) | 
|   | 
| static FORCEINLINE T  | ErrorAutoNormalize (const TQuat< T > &A, const TQuat< T > &B) | 
|   | 
| static FORCEINLINE TQuat< T >  | FastLerp (const TQuat< T > &A, const TQuat< T > &B, const T Alpha) | 
|   | 
| static FORCEINLINE TQuat< T >  | FastBilerp (const TQuat< T > &P00, const TQuat< T > &P10, const TQuat< T > &P01, const TQuat< T > &P11, T FracX, T FracY) | 
|   | 
| static TQuat< T >  | Slerp_NotNormalized (const TQuat< T > &Quat1, const TQuat< T > &Quat2, T Slerp) | 
|   | 
| static FORCEINLINE TQuat< T >  | Slerp (const TQuat< T > &Quat1, const TQuat< T > &Quat2, T Slerp) | 
|   | 
| static TQuat< T >  | SlerpFullPath_NotNormalized (const TQuat< T > &quat1, const TQuat< T > &quat2, T Alpha) | 
|   | 
| static FORCEINLINE TQuat< T >  | SlerpFullPath (const TQuat< T > &quat1, const TQuat< T > &quat2, T Alpha) | 
|   | 
| static TQuat< T >  | Squad (const TQuat< T > &quat1, const TQuat< T > &tang1, const TQuat< T > &quat2, const TQuat< T > &tang2, T Alpha) | 
|   | 
| static TQuat< T >  | SquadFullPath (const TQuat< T > &quat1, const TQuat< T > &tang1, const TQuat< T > &quat2, const TQuat< T > &tang2, T Alpha) | 
|   | 
| static void  | CalcTangents (const TQuat< T > &PrevP, const TQuat< T > &P, const TQuat< T > &NextP, T Tension, TQuat< T > &OutTan) | 
|   | 
template<
typename T>
struct UE::Math::TQuat< T >
Floating point quaternion that can represent a rotation about an axis in 3-D space. The X, Y, Z, W components also double as the Axis/Angle format.
Order matters when composing quaternions: C = A * B will yield a quaternion C that logically first applies B then A to any subsequent transformation (right first, then left). Note that this is the opposite order of FTransform multiplication.
Example: LocalToWorld = (LocalToWorld * DeltaRotation) will change rotation in local space by DeltaRotation. Example: LocalToWorld = (DeltaRotation * LocalToWorld) will change rotation in world space by DeltaRotation. 
Definition at line 37 of file Quat.h.