UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HaveStates.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Core/Types.h"
6
7enum class EHaveStates : uint16
8{
9 None = 0x0000u, // No flags.
10
11 IsApplyCriteria = 0x0001u, // used for FTopologicalFace, FEdge
12 IsMeshed = 0x0002u, // used for FTopologicalFace, FEdge
13 IsPreMeshed = 0x0004u, // used for FTopologicalFace, FEdge
14
15 ThinZone = 0x0008u, // used for FTopologicalFace, FEdge, FEdgeSegment
16
17 Degenerated = 0x0010u, // used for FEdge, FGrid
18
19 IsDeleted = 0x0020u, // used for all class
20
21 IsVirtuallyMeshed = 0x0040u, // used for FEdge
22
23 ThinPeak = 0x0080u, // used for FEdge
24
25 IsBackOriented = 0x0100u, // used for FTopologicalFace
26 IsInner = 0x0100u, // used for FEdgeSegment, FShell,
27
28 FirstSideClosed = 0x0200u, // used for FThinZone2D
29 SecondSideClosed = 0x0400u, // used for FThinZone2D
30
31 HasMarker1 = 0x0800u, // used for all class
32 HasMarker2 = 0x1000u, // used for all class
33
34 ToProcess = 0x2000u, // used for all class
35 IsWaiting = 0x4000u, // used for all class
36 IsProcessed = 0x8000u, // used for all class
37
38 AllMarkers = 0xF800u, // used for all class
39
40 All = 0xFFFFu
41};
42
44
45namespace UE::CADKernel
46{
48{
49protected:
51
52public:
53
55 : States(EHaveStates::None)
56 {};
57
59 {
60 Ar << States;
61 }
62
64 {
65 States = EHaveStates::None;
66 }
67
68 bool HasMarker1() const
69 {
71 }
72
73 bool HasMarker2() const
74 {
76 }
77
78 //bool HasMarker3() const
79 //{
80 // return ((States & EHaveStates::HasMarker3) == EHaveStates::HasMarker3);
81 //}
82
83 bool HasMarker1And2() const
84 {
86 return ((States & HasMarker12) == HasMarker12);
87 }
88
89 bool HasMarker1Or2() const
90 {
92 return ((States & HasMarker12) != EHaveStates::None);
93 }
94
95 void SetMarker1() const
96 {
98 }
99
100 void SetMarker2() const
101 {
102 States |= EHaveStates::HasMarker2;
103 }
104
105 void ResetMarker1() const
106 {
107 States &= ~EHaveStates::HasMarker1;
108 }
109
110 void ResetMarker2() const
111 {
112 States &= ~EHaveStates::HasMarker2;
113 }
114
115 void ResetMarkers() const
116 {
117 States &= ~EHaveStates::AllMarkers;
118 }
119
120 bool IsDeleted() const
121 {
122 return ((States & EHaveStates::IsDeleted) == EHaveStates::IsDeleted);
123 }
124
125 void SetDeletedMarker() const
126 {
127 States |= EHaveStates::IsDeleted;
128 }
129
130 void ResetDeleted() const
131 {
132 States &= ~EHaveStates::IsDeleted;
133 }
134
140
141 virtual bool IsDegenerated() const
142 {
144 }
145
146 virtual void SetAsDegenerated() const
147 {
148 States |= EHaveStates::Degenerated;
149 }
150
151 virtual void ResetDegenerated() const
152 {
154 }
155
156 void SetWaitingMarker() const
157 {
158 States |= EHaveStates::IsWaiting;
159 }
160
162 {
163 States &= ~EHaveStates::IsWaiting;
164 }
165
166 virtual bool IsWaiting() const
167 {
168 return ((States & EHaveStates::IsWaiting) == EHaveStates::IsWaiting);
169 }
170
172 {
173 States |= EHaveStates::IsProcessed;
174 }
175
177 {
179 }
180
181 virtual bool IsProcessed() const
182 {
184 }
185
191
192
194 {
195 States |= EHaveStates::ToProcess;
196 }
197
199 {
200 States &= ~EHaveStates::ToProcess;
201 }
202
203 virtual bool IsToProcess() const
204 {
205 return ((States & EHaveStates::ToProcess) == EHaveStates::ToProcess);
206 }
207
208 virtual bool IsNotToProcess() const
209 {
210 return ((States & EHaveStates::ToProcess) != EHaveStates::ToProcess);
211 }
212
213 virtual bool IsNotToOrAlreadyProcess() const
214 {
215 return IsNotToProcess() || IsProcessed();
216 }
217
218
219};
220}
221
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EHaveStates
Definition HaveStates.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition CADKernelArchive.h:19
Definition HaveStates.h:48
virtual void ResetDegenerated() const
Definition HaveStates.h:151
void ResetElementStatus()
Definition HaveStates.h:63
void ResetMarkers() const
Definition HaveStates.h:115
void ResetToProcessMarker() const
Definition HaveStates.h:198
void SetMarker1() const
Definition HaveStates.h:95
void SetMarker2() const
Definition HaveStates.h:100
void SetDeletedMarker() const
Definition HaveStates.h:125
bool IsDeleted() const
Definition HaveStates.h:120
bool HasMarker1() const
Definition HaveStates.h:68
bool HasMarker1And2() const
Definition HaveStates.h:83
void ResetMarker1() const
Definition HaveStates.h:105
void ResetWaitingMarker() const
Definition HaveStates.h:161
virtual void SetAsDegenerated() const
Definition HaveStates.h:146
void SetProcessedMarker() const
Definition HaveStates.h:171
FHaveStates()
Definition HaveStates.h:54
virtual bool IsWaiting() const
Definition HaveStates.h:166
void SetWaitingMarker() const
Definition HaveStates.h:156
void ResetProcessedMarker() const
Definition HaveStates.h:176
virtual bool IsDeletedOrDegenerated() const
Definition HaveStates.h:135
virtual bool IsDegenerated() const
Definition HaveStates.h:141
void Serialize(FCADKernelArchive &Ar)
Definition HaveStates.h:58
EHaveStates States
Definition HaveStates.h:50
virtual bool IsProcessed() const
Definition HaveStates.h:181
void ResetMarker2() const
Definition HaveStates.h:110
virtual bool IsNotToOrAlreadyProcess() const
Definition HaveStates.h:213
bool HasMarker2() const
Definition HaveStates.h:73
virtual bool IsProcessedDeletedOrDegenerated() const
Definition HaveStates.h:186
virtual bool IsToProcess() const
Definition HaveStates.h:203
bool HasMarker1Or2() const
Definition HaveStates.h:89
void ResetDeleted() const
Definition HaveStates.h:130
virtual bool IsNotToProcess() const
Definition HaveStates.h:208
void SetToProcessMarker() const
Definition HaveStates.h:193
Definition CADEntity.cpp:23