UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldCompositionUtility.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 WorldCompositionUtility.h: Support structures for world composition
5=============================================================================*/
6
7#pragma once
8
9#include "Containers/Array.h"
11#include "CoreMinimal.h"
12#include "CoreTypes.h"
13#include "Math/Box.h"
14#include "Math/IntPoint.h"
15#include "Math/IntVector.h"
16#include "Math/UnrealMathSSE.h"
17#include "Math/Vector.h"
19
20class FArchive;
21
22#define WORLDTILE_LOD_PACKAGE_SUFFIX TEXT("_LOD")
23#define WORLDTILE_LOD_MAX_INDEX 4
24
27{
28public:
30 : Name(TEXT("Uncategorized"))
31 , Reserved0(0)
33 , StreamingDistance(50000)
35 {
36 }
37
39 {
40 return (Name == OtherLayer.Name) &&
41 (StreamingDistance == OtherLayer.StreamingDistance) &&
42 (DistanceStreamingEnabled == OtherLayer.DistanceStreamingEnabled);
43
44 }
45
48
49public:
51 FString Name;
57};
58
63{
64public:
67 , Reserved0(0)
68 , Reserved1(0)
69 , Reserved2(0)
70 , Reserved3(0)
71 {
72 }
73
76
78 {
79 return RelativeStreamingDistance == OtherInfo.RelativeStreamingDistance;
80 }
81
82public:
85
87 float Reserved0;
88 float Reserved1;
91};
92
98{
99public:
101 : Position(0,0,0)
102 , AbsolutePosition(0,0,0)
105 , ZOrder(0)
106 {
107 }
108
109 friend FArchive& operator<<(FArchive& Ar, FWorldTileInfo& D) { D.StreamArchive(Ar); return Ar; }
110 friend void operator<<(FStructuredArchive::FSlot Slot, FWorldTileInfo& D) { D.StreamStructuredArchive(Slot); }
111
113 {
114 return (Position == OtherInfo.Position) &&
115 (Bounds.Min.Equals(OtherInfo.Bounds.Min, 0.5f)) &&
116 (Bounds.Max.Equals(OtherInfo.Bounds.Max, 0.5f)) &&
117 (ParentTilePackageName == OtherInfo.ParentTilePackageName) &&
118 (Layer == OtherInfo.Layer) &&
119 (bHideInTileView == OtherInfo.bHideInTileView) &&
120 (ZOrder == OtherInfo.ZOrder) &&
121 (LODList == OtherInfo.LODList);
122 }
123
126 {
128 if (LODList.IsValidIndex(LODIndex))
129 {
130 Distance+= LODList[LODIndex].RelativeStreamingDistance;
131 }
132 return Distance;
133 }
134
136 COREUOBJECT_API static bool Read(const FString& InPackageFileName, FWorldTileInfo& OutInfo);
137
138public:
155
156private:
157 COREUOBJECT_API void StreamArchive(FArchive& Ar);
158 COREUOBJECT_API void StreamStructuredArchive(FStructuredArchive::FSlot Slot);
159};
@ ForceInit
Definition CoreMiscDefines.h:155
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
Definition Archive.h:1208
Definition StructuredArchiveSlots.h:52
Definition WorldCompositionUtility.h:98
int32 ZOrder
Definition WorldCompositionUtility.h:154
FWorldTileLayer Layer
Definition WorldCompositionUtility.h:146
int32 GetStreamingDistance(int32 LODIndex) const
Definition WorldCompositionUtility.h:125
FString ParentTilePackageName
Definition WorldCompositionUtility.h:150
friend void operator<<(FStructuredArchive::FSlot Slot, FWorldTileInfo &D)
Definition WorldCompositionUtility.h:110
FIntVector AbsolutePosition
Definition WorldCompositionUtility.h:142
TArray< FWorldTileLODInfo > LODList
Definition WorldCompositionUtility.h:152
bool bHideInTileView
Definition WorldCompositionUtility.h:148
bool operator==(const FWorldTileInfo &OtherInfo) const
Definition WorldCompositionUtility.h:112
FWorldTileInfo()
Definition WorldCompositionUtility.h:100
friend FArchive & operator<<(FArchive &Ar, FWorldTileInfo &D)
Definition WorldCompositionUtility.h:109
FIntVector Position
Definition WorldCompositionUtility.h:140
FBox Bounds
Definition WorldCompositionUtility.h:144
Definition WorldCompositionUtility.h:63
float Reserved1
Definition WorldCompositionUtility.h:88
friend FArchive & operator<<(FArchive &Ar, FWorldTileLayer &D)
Definition WorldCompositionUtility.cpp:14
float Reserved0
Definition WorldCompositionUtility.h:87
FWorldTileLODInfo()
Definition WorldCompositionUtility.h:65
int32 Reserved2
Definition WorldCompositionUtility.h:89
bool operator==(const FWorldTileLODInfo &OtherInfo) const
Definition WorldCompositionUtility.h:77
int32 Reserved3
Definition WorldCompositionUtility.h:90
int32 RelativeStreamingDistance
Definition WorldCompositionUtility.h:84
Definition WorldCompositionUtility.h:27
FWorldTileLayer()
Definition WorldCompositionUtility.h:29
bool operator==(const FWorldTileLayer &OtherLayer) const
Definition WorldCompositionUtility.h:38
bool DistanceStreamingEnabled
Definition WorldCompositionUtility.h:56
friend FArchive & operator<<(FArchive &Ar, FWorldTileLayer &D)
Definition WorldCompositionUtility.cpp:14
int32 StreamingDistance
Definition WorldCompositionUtility.h:55
FIntPoint Reserved1
Definition WorldCompositionUtility.h:53
FString Name
Definition WorldCompositionUtility.h:51
int32 Reserved0
Definition WorldCompositionUtility.h:52
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
@ false
Definition radaudio_common.h:23
TVector< T > Min
Definition Box.h:39
TVector< T > Max
Definition Box.h:42
Definition IntPoint.h:25
UE_FORCEINLINE_HINT bool Equals(const TVector< T > &V, T Tolerance=UE_KINDA_SMALL_NUMBER) const
Definition Vector.h:1601