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
7
struct
FColor
;
8
struct
FLinearColor
;
9
10
// Non-macro declaration of the most commonly used types to assist Intellisense.
11
namespace
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
35
namespace
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.
47
using
FVector
=
UE::Math::TVector<double>
;
// UE_DECLARE_LWC_TYPE(Vector, 3);
48
using
FVector2D
=
UE::Math::TVector2<double>
;
// UE_DECLARE_LWC_TYPE(Vector2,, FVector2D);
49
using
FVector4
=
UE::Math::TVector4<double>
;
// UE_DECLARE_LWC_TYPE(Vector4);
50
using
FQuat
=
UE::Math::TQuat<double>
;
// UE_DECLARE_LWC_TYPE(Quat, 4);
51
using
FMatrix
=
UE::Math::TMatrix<double>
;
// UE_DECLARE_LWC_TYPE(Matrix, 44);
52
using
FPlane
=
UE::Math::TPlane<double>
;
// UE_DECLARE_LWC_TYPE(Plane, 4);
53
using
FTransform
=
UE::Math::TTransform<double>
;
// UE_DECLARE_LWC_TYPE(Transform, 3);
54
using
FSphere
=
UE::Math::TSphere<double>
;
// UE_DECLARE_LWC_TYPE(Sphere, 3);
55
using
FBox
=
UE::Math::TBox<double>
;
// UE_DECLARE_LWC_TYPE(Box, 3);
56
using
FBox2D
=
UE::Math::TBox2<double>
;
// UE_DECLARE_LWC_TYPE(Box2,, FBox2D);
57
using
FRotator
=
UE::Math::TRotator<double>
;
// UE_DECLARE_LWC_TYPE(Rotator, 3);
58
using
FRay
=
UE::Math::TRay<double>
;
// UE_DECLARE_LWC_TYPE(Ray, 3);
59
60
using
FVector3d
=
UE::Math::TVector<double>
;
61
using
FVector2d
=
UE::Math::TVector2<double>
;
62
using
FVector4d
=
UE::Math::TVector4<double>
;
63
using
FQuat4d
=
UE::Math::TQuat<double>
;
64
using
FMatrix44d
=
UE::Math::TMatrix<double>
;
65
using
FPlane4d
=
UE::Math::TPlane<double>
;
66
using
FTransform3d
=
UE::Math::TTransform<double>
;
67
using
FSphere3d
=
UE::Math::TSphere<double>
;
68
using
FBox3d
=
UE::Math::TBox<double>
;
69
using
FBox2d
=
UE::Math::TBox2<double>
;
70
using
FRotator3d
=
UE::Math::TRotator<double>
;
71
using
FRay3d
=
UE::Math::TRay<double>
;
72
73
using
FVector3f
=
UE::Math::TVector<float>
;
74
using
FVector2f
=
UE::Math::TVector2<float>
;
75
using
FVector4f
=
UE::Math::TVector4<float>
;
76
using
FQuat4f
=
UE::Math::TQuat<float>
;
77
using
FMatrix44f
=
UE::Math::TMatrix<float>
;
78
using
FPlane4f
=
UE::Math::TPlane<float>
;
79
using
FTransform3f
=
UE::Math::TTransform<float>
;
80
using
FSphere3f
=
UE::Math::TSphere<float>
;
81
using
FBox3f
=
UE::Math::TBox<float>
;
82
using
FBox2f
=
UE::Math::TBox2<float>
;
83
using
FRotator3f
=
UE::Math::TRotator<float>
;
84
using
FRay3f
=
UE::Math::TRay<float>
;
85
86
87
struct
FColor
;
88
struct
FLinearColor
;
89
90
// Int vectors
91
using
FIntVector2
=
UE::Math::TIntVector2<int32>
;
92
using
FIntVector3
=
UE::Math::TIntVector3<int32>
;
93
using
FIntVector4
=
UE::Math::TIntVector4<int32>
;
94
using
FInt32Vector2
=
UE::Math::TIntVector2<int32>
;
95
using
FInt32Vector3
=
UE::Math::TIntVector3<int32>
;
96
using
FInt32Vector4
=
UE::Math::TIntVector4<int32>
;
97
using
FInt32Vector
=
FInt32Vector3
;
98
using
FInt64Vector2
=
UE::Math::TIntVector2<int64>
;
99
using
FInt64Vector3
=
UE::Math::TIntVector3<int64>
;
100
using
FInt64Vector4
=
UE::Math::TIntVector4<int64>
;
101
using
FInt64Vector
=
FInt64Vector3
;
102
103
using
FUintVector2
=
UE::Math::TIntVector2<uint32>
;
104
using
FUintVector3
=
UE::Math::TIntVector3<uint32>
;
105
using
FUintVector4
=
UE::Math::TIntVector4<uint32>
;
106
using
FUint32Vector2
=
UE::Math::TIntVector2<uint32>
;
107
using
FUint32Vector3
=
UE::Math::TIntVector3<uint32>
;
108
using
FUint32Vector4
=
UE::Math::TIntVector4<uint32>
;
109
using
FUint32Vector
=
FUint32Vector3
;
110
using
FUint64Vector2
=
UE::Math::TIntVector2<uint64>
;
111
using
FUint64Vector3
=
UE::Math::TIntVector3<uint64>
;
112
using
FUint64Vector4
=
UE::Math::TIntVector4<uint64>
;
113
using
FUint64Vector
=
FUint64Vector3
;
114
115
using
FIntVector
=
FInt32Vector3
;
116
using
FUintVector
=
FUint32Vector3
;
117
118
// Int points
119
using
FInt32Point
=
UE::Math::TIntPoint<int32>
;
120
using
FInt64Point
=
UE::Math::TIntPoint<int64>
;
121
using
FUint32Point
=
UE::Math::TIntPoint<uint32>
;
122
using
FUint64Point
=
UE::Math::TIntPoint<uint64>
;
123
124
using
FIntPoint
=
FInt32Point
;
125
using
FUintPoint
=
FUint32Point
;
126
127
// Int rects
128
using
FInt32Rect
=
UE::Math::TIntRect<int32>
;
129
using
FInt64Rect
=
UE::Math::TIntRect<int64>
;
130
using
FUint32Rect
=
UE::Math::TIntRect<uint32>
;
131
using
FUint64Rect
=
UE::Math::TIntRect<uint64>
;
132
133
using
FIntRect
=
UE::Math::TIntRect<int32>
;
134
using
FUintRect
=
UE::Math::TIntRect<uint32>
;
135
136
137
using
FBoxSphereBounds3f
=
UE::Math::TBoxSphereBounds<float, float>
;
138
using
FBoxSphereBounds3d
=
UE::Math::TBoxSphereBounds<double, double>
;
139
// FCompactBoxSphereBounds always stores float extents
140
using
FCompactBoxSphereBounds3d
=
UE::Math::TBoxSphereBounds<double, float>
;
141
142
using
FBoxSphereBounds
=
FBoxSphereBounds3d
;
143
using
FCompactBoxSphereBounds
=
FCompactBoxSphereBounds3d
;
Platform.h
FUint64Vector3
UE::Math::TIntVector3< uint64 > FUint64Vector3
Definition
MathFwd.h:111
FUint32Vector3
UE::Math::TIntVector3< uint32 > FUint32Vector3
Definition
MathFwd.h:107
FBoxSphereBounds3d
UE::Math::TBoxSphereBounds< double, double > FBoxSphereBounds3d
Definition
MathFwd.h:138
FInt32Vector3
UE::Math::TIntVector3< int32 > FInt32Vector3
Definition
MathFwd.h:95
FCompactBoxSphereBounds3d
UE::Math::TBoxSphereBounds< double, float > FCompactBoxSphereBounds3d
Definition
MathFwd.h:140
FInt32Point
UE::Math::TIntPoint< int32 > FInt32Point
Definition
MathFwd.h:119
FInt64Vector3
UE::Math::TIntVector3< int64 > FInt64Vector3
Definition
MathFwd.h:99
FUint32Point
UE::Math::TIntPoint< uint32 > FUint32Point
Definition
MathFwd.h:121
UE::Math
Definition
Sphere.cpp:10
ispc
Definition
MathFwd.h:36
FColor
Definition
Color.h:486
FLinearColor
Definition
Color.h:48
UE::Math::TBox2< double >
UE::Math::TBoxSphereBounds< float, float >
UE::Math::TBox< double >
UE::Math::TIntPoint
Definition
IntPoint.h:25
UE::Math::TIntRect< int32 >
UE::Math::TIntVector2< int32 >
UE::Math::TIntVector3< int32 >
UE::Math::TIntVector4< int32 >
UE::Math::TMatrix< double >
UE::Math::TPlane< double >
UE::Math::TQuat< double >
UE::Math::TRay< double >
UE::Math::TRotator< double >
UE::Math::TSphere< double >
UE::Math::TTransform< double >
UE::Math::TVector2< double >
UE::Math::TVector4< double >
UE::Math::TVector< double >
Engine
Source
Runtime
Core
Public
Math
MathFwd.h
Generated by
1.9.8