UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Group.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Core/CADEntity.h"
6
7namespace UE::CADKernel
8{
9enum class EGroupOrigin : uint8
10{
11 Unknown,
15};
16
17extern const TCHAR* GroupOriginNames[];
18
19class FGroup : public FEntity
20{
21 friend FEntity;
22
23protected:
25 FString GroupName;
27
30 {
31 }
32
38
39public:
40
41 virtual void Serialize(FCADKernelArchive& Ar) override
42 {
44 Ar << Origin;
45 Ar << GroupName;
47 }
48
49 virtual void SpawnIdent(FDatabase& Database) override
50 {
52 {
53 return;
54 }
55
57 }
58
59 virtual void ResetMarkersRecursively() const override
60 {
63 }
64
65#ifdef CADKERNEL_DEV
66 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
67#endif
68
69 virtual EEntity GetEntityType() const override
70 {
71 return EEntity::None;
72 }
73
74 void SetName(const FString& Name);
75
76 const FString& GetName() const
77 {
78 return GroupName;
79 }
80
82 {
83 Entities.AddUnique(Entity);
84 }
85
86 void Empty()
87 {
88 Entities.Empty();
89 }
90
95
97 {
98 return Entities.Contains(Entity);
99 }
100
102 {
103 return Origin;
104 }
105
110
111 EEntity GetGroupType() const;
112
114 {
116 {
117 if (Entity.IsValid())
118 {
119 OutEntities.Add(Entity);
120 }
121 }
122 }
123
125 {
126 return Entities;
127 }
128
129 bool IsEmpty()
130 {
131 return Entities.IsEmpty();
132 }
133
135
137};
138
139} // namespace UE::CADKernel
140
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition CADKernelArchive.h:19
Definition Database.h:17
Definition CADEntity.h:56
virtual void Serialize(FCADKernelArchive &Ar)
Definition CADEntity.h:241
static void SerializeIdents(FCADKernelArchive &Ar, TArray< FEntity * > &Array, bool bSaveSelection=true)
Definition CADEntity.cpp:186
static void SpawnIdentOnEntities(TArray< FEntity * > &Array, FDatabase &Database)
Definition CADEntity.h:155
bool SetId(FDatabase &Database)
Definition CADEntity.cpp:368
static void ResetMarkersRecursivelyOnEntities(const TArray< FEntity * > &Array)
Definition CADEntity.h:191
Definition Group.h:20
virtual EEntity GetEntityType() const override
Definition Group.h:69
EGroupOrigin Origin
Definition Group.h:24
EEntity GetGroupType() const
Definition Group.cpp:19
EGroupOrigin GetOrigin() const
Definition Group.h:101
void ReplaceEntitiesWithMap(const TMap< TSharedPtr< FEntity >, TSharedPtr< FEntity > > &Map)
Definition Group.cpp:29
void RemoveNonTopologicalEntities()
Definition Group.cpp:41
void SetOrigin(EGroupOrigin InOrigin)
Definition Group.h:106
FGroup(TArray< TSharedPtr< FEntity > > &InEntities)
Definition Group.h:33
void Empty()
Definition Group.h:86
FString GroupName
Definition Group.h:25
const FString & GetName() const
Definition Group.h:76
virtual void ResetMarkersRecursively() const override
Definition Group.h:59
bool Contains(TSharedPtr< FEntity > Entity)
Definition Group.h:96
virtual void Serialize(FCADKernelArchive &Ar) override
Definition Group.h:41
void SetName(const FString &Name)
Definition Group.cpp:63
void GetValidEntities(TArray< TSharedPtr< FEntity > > &OutEntities) const
Definition Group.h:113
void AddEntity(TSharedPtr< FEntity > Entity)
Definition Group.h:81
const TArray< TSharedPtr< FEntity > > & GetEntities() const
Definition Group.h:124
FGroup()
Definition Group.h:28
bool IsEmpty()
Definition Group.h:129
void RemoveEntity(TSharedPtr< FEntity > Entity)
Definition Group.h:91
TArray< TSharedPtr< FEntity > > Entities
Definition Group.h:26
virtual void SpawnIdent(FDatabase &Database) override
Definition Group.h:49
void ResetMarkers() const
Definition HaveStates.h:115
Definition CADEntity.cpp:23
const TCHAR * GroupOriginNames[]
Definition Group.cpp:10
EGroupOrigin
Definition Group.h:10
EEntity
Definition CADEntity.h:18