UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Vector2DHalf.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7#include "Math/Vector2D.h"
8#include "Math/Float16.h"
9
14{
17
20
21public:
22
25
33
40
46 [[nodiscard]] UE_FORCEINLINE_HINT FVector2DHalf( const FVector2d& Vector2D );// LWC_TODO: This should probably be explicit
47
48public:
49
56 FVector2DHalf& operator=( const FVector2d& Vector2D ); // LWC_TODO: This should probably be explicit
57
59 operator FVector2f() const;
60 operator FVector2d() const;
61
63 void SetTruncate( float InX, float InY );
64 void SetTruncate( const FVector2f& Vector2D );
65 void SetTruncate( const FVector2d& Vector2D );
66
67 [[nodiscard]] inline uint32 AsUInt32() const
68 {
69 uint32 PackedData = (X.Encoded & 0xFFFFFFFF) | (Y.Encoded << 16);
70 return PackedData;
71 }
72
73public:
74
80 [[nodiscard]] FString ToString() const;
81
82public:
83
92 {
93 return Ar << V.X << V.Y;
94 }
95};
96
97
98/* FVector2DHalf inline functions
99 *****************************************************************************/
100
104
105
109
113
114// LWC_TODO: Precision loss.
118
120{
121 X = FFloat16(Vector2D.X);
122 Y = FFloat16(Vector2D.Y);
123
124 return *this;
125}
126
127// LWC_TODO: Precision loss.
129{
130 X = FFloat16((float)Vector2D.X);
131 Y = FFloat16((float)Vector2D.Y);
132
133 return *this;
134}
135
137{
138 return FString::Printf(TEXT("X=%3.3f Y=%3.3f"), (float)X, (float)Y );
139}
140
141
142UE_FORCEINLINE_HINT FVector2DHalf::operator FVector2f() const
143{
144 return FVector2f((float)X,(float)Y);
145}
146
147UE_FORCEINLINE_HINT FVector2DHalf::operator FVector2d() const
148{
149 return FVector2d((float)X,(float)Y);
150}
151
152inline void FVector2DHalf::SetTruncate( float InX, float InY )
153{
156}
157
162
#define TEXT(x)
Definition Platform.h:1272
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define X(Name, Desc)
Definition FormatStringSan.h:47
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
UE::Math::TVector2< double > FVector2d
Definition MathFwd.h:61
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Float16.h:34
void CORE_API SetTruncate(float FP32Value)
Definition Float16.cpp:5
uint16 Encoded
Definition Float16.h:40
Definition Vector2DHalf.h:14
FFloat16 X
Definition Vector2DHalf.h:16
UE_FORCEINLINE_HINT FVector2DHalf()
Definition Vector2DHalf.h:24
void SetTruncate(float InX, float InY)
Definition Vector2DHalf.h:152
FString ToString() const
Definition Vector2DHalf.h:136
FVector2DHalf & operator=(const FVector2f &Vector2D)
Definition Vector2DHalf.h:119
FFloat16 Y
Definition Vector2DHalf.h:19
friend FArchive & operator<<(FArchive &Ar, FVector2DHalf &V)
Definition Vector2DHalf.h:91
uint32 AsUInt32() const
Definition Vector2DHalf.h:67