UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MetadataDictionary.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5#include "Core/Types.h"
6#include "Math/MathConst.h"
7
8namespace UE::CADKernel
9{
10
12{
13private:
14 FString Name;
15 int32 HostId = 0;
16 int32 PatchId = 0;
17 uint32 ColorId = 0;
18 uint32 MaterialId = 0;
19 int32 LayerId = -1;
20
21public:
23
25 {
26 Ar.Archive << Name;
27 Ar.Archive << HostId;
28 Ar.Archive << PatchId;
29 Ar.Archive << ColorId;
30 Ar.Archive << MaterialId;
31 Ar.Archive << LayerId;
32 }
33
35 {
36 if (Name.IsEmpty())
37 {
38 Name = MetaData.Name;
39 }
40 if (HostId == 0)
41 {
42 HostId = MetaData.HostId;
43 }
44 if (PatchId == 0)
45 {
46 PatchId = MetaData.PatchId;
47 }
48 if (ColorId == 0)
49 {
50 ColorId = MetaData.ColorId;
51 }
52 if (MaterialId == 0)
53 {
54 MaterialId = MetaData.MaterialId;
55 }
56 if (LayerId == 0)
57 {
58 LayerId = MetaData.LayerId;
59 }
60 }
61
63 {
64 if (!Name.IsEmpty())
65 {
66 OutMetaData.Add(TEXT("Name"), Name);
67 }
68 if (HostId != 0)
69 {
70 OutMetaData.Add(TEXT("HostId"), FString::FromInt(HostId));
71 }
72 if (PatchId != 0)
73 {
74 OutMetaData.Add(TEXT("PatchId"), FString::FromInt(PatchId));
75 }
76 if (ColorId != 0)
77 {
78 OutMetaData.Add(TEXT("ColorName"), FString::Printf(TEXT("%u"), ColorId));
79 }
80 if (MaterialId != 0)
81 {
82 OutMetaData.Add(TEXT("MaterialName"), FString::Printf(TEXT("%u"), MaterialId));
83 }
84 if (LayerId != 0)
85 {
86 OutMetaData.Add(TEXT("LayerId"), FString::FromInt(LayerId));
87 }
88 }
89
91 {
92 HostId = InHostId;
93 }
94
95 const int32 GetHostId() const
96 {
97 return HostId;
98 }
99
101 {
102 LayerId = InLayerId;
103 }
104
106 {
107 return LayerId;
108 }
109
110 void SetName(const FString& InName)
111 {
112 Name = InName;
113 }
114
115 bool HasName() const
116 {
117 return !Name.IsEmpty();
118 }
119
120 const TCHAR* GetName() const
121 {
122 return *Name;
123 }
124
126 {
127 ColorId = InColorId;
128 }
129
131 {
132 return ColorId;
133 }
134
136 {
138 }
139
141 {
142 return MaterialId;
143 }
144
146 {
147 PatchId = InPatchId;
148 }
149
151 {
152 return PatchId;
153 }
154};
155
156
157}
158
159
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition UnrealString.h.inl:34
Definition CADKernelArchive.h:19
FArchive & Archive
Definition CADKernelArchive.h:24
Definition MetadataDictionary.h:12
bool HasName() const
Definition MetadataDictionary.h:115
void CompleteDictionary(const FMetadataDictionary &MetaData)
Definition MetadataDictionary.h:34
void SetPatchId(int32 InPatchId)
Definition MetadataDictionary.h:145
uint32 GetMaterialId() const
Definition MetadataDictionary.h:140
void Serialize(FCADKernelArchive &Ar)
Definition MetadataDictionary.h:24
void SetMaterialId(const uint32 &InMaterialId)
Definition MetadataDictionary.h:135
void SetHostId(const int32 InHostId)
Definition MetadataDictionary.h:90
void ExtractMetaData(TMap< FString, FString > &OutMetaData) const
Definition MetadataDictionary.h:62
int32 GetLayer() const
Definition MetadataDictionary.h:105
const TCHAR * GetName() const
Definition MetadataDictionary.h:120
int32 GetPatchId() const
Definition MetadataDictionary.h:150
void SetLayer(const int32 InLayerId)
Definition MetadataDictionary.h:100
void SetName(const FString &InName)
Definition MetadataDictionary.h:110
void SetColorId(const uint32 &InColorId)
Definition MetadataDictionary.h:125
const int32 GetHostId() const
Definition MetadataDictionary.h:95
uint32 GetColorId() const
Definition MetadataDictionary.h:130
Definition CADEntity.cpp:23