UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MathFwd.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/Platform.h"
6
7struct FColor;
8struct FLinearColor;
9
10// Non-macro declaration of the most commonly used types to assist Intellisense.
11namespace UE::Math
12{
13 // Forward declaration of templates
14 template<typename T> struct TVector;
15 template<typename T> struct TVector2;
16 template<typename T> struct TVector4;
17 template<typename T> struct TQuat;
18 template<typename T> struct TMatrix;
19 template<typename T> struct TPlane;
20 template<typename T> struct TTransform;
21 template<typename T> struct TSphere;
22 template<typename T> struct TBox;
23 template<typename T> struct TBox2;
24 template<typename T> struct TRotator;
25 template<typename T, typename TExtent = T> struct TBoxSphereBounds;
26 template <typename IntType> struct TIntPoint;
27 template <typename IntType> struct TIntRect;
28 template <typename IntType> struct TIntVector2;
29 template <typename IntType> struct TIntVector3;
30 template <typename IntType> struct TIntVector4;
31 template<typename T> struct TRay;
32}
33
34// ISPC forward declarations
35namespace ispc
36{
37 struct FVector;
38 struct FVector2D;
39 struct FVector4;
40 struct FQuat;
41 struct FMatrix;
42 struct FPlane;
43 struct FTransform;
44}
45
46// Forward declaration of concrete types // Macro version - declares all three variants.
47using FVector = UE::Math::TVector<double>; // UE_DECLARE_LWC_TYPE(Vector, 3);
48using FVector2D = UE::Math::TVector2<double>; // UE_DECLARE_LWC_TYPE(Vector2,, FVector2D);
49using FVector4 = UE::Math::TVector4<double>; // UE_DECLARE_LWC_TYPE(Vector4);
50using FQuat = UE::Math::TQuat<double>; // UE_DECLARE_LWC_TYPE(Quat, 4);
51using FMatrix = UE::Math::TMatrix<double>; // UE_DECLARE_LWC_TYPE(Matrix, 44);
52using FPlane = UE::Math::TPlane<double>; // UE_DECLARE_LWC_TYPE(Plane, 4);
53using FTransform = UE::Math::TTransform<double>; // UE_DECLARE_LWC_TYPE(Transform, 3);
54using FSphere = UE::Math::TSphere<double>; // UE_DECLARE_LWC_TYPE(Sphere, 3);
55using FBox = UE::Math::TBox<double>; // UE_DECLARE_LWC_TYPE(Box, 3);
56using FBox2D = UE::Math::TBox2<double>; // UE_DECLARE_LWC_TYPE(Box2,, FBox2D);
57using FRotator = UE::Math::TRotator<double>; // UE_DECLARE_LWC_TYPE(Rotator, 3);
58using FRay = UE::Math::TRay<double>; // UE_DECLARE_LWC_TYPE(Ray, 3);
59
72
85
86
87struct FColor;
88struct FLinearColor;
89
90// Int vectors
102
114
117
118// Int points
123
126
127// Int rects
132
135
136
139// FCompactBoxSphereBounds always stores float extents
141
UE::Math::TIntVector3< uint64 > FUint64Vector3
Definition MathFwd.h:111
UE::Math::TIntVector3< uint32 > FUint32Vector3
Definition MathFwd.h:107
UE::Math::TBoxSphereBounds< double, double > FBoxSphereBounds3d
Definition MathFwd.h:138
UE::Math::TIntVector3< int32 > FInt32Vector3
Definition MathFwd.h:95
UE::Math::TBoxSphereBounds< double, float > FCompactBoxSphereBounds3d
Definition MathFwd.h:140
UE::Math::TIntPoint< int32 > FInt32Point
Definition MathFwd.h:119
UE::Math::TIntVector3< int64 > FInt64Vector3
Definition MathFwd.h:99
UE::Math::TIntPoint< uint32 > FUint32Point
Definition MathFwd.h:121
Definition Sphere.cpp:10
Definition MathFwd.h:36
Definition Color.h:486
Definition Color.h:48
Definition IntPoint.h:25