UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
System.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"
5#include "UI/Console.h"
6#include "UI/Progress.h"
7#include "UI/Visu.h"
8
9class FArchive;
10
11namespace UE::CADKernel
12{
13class FConsole;
15class FVisu;
16
18{
19 friend class FDatabase;
20
21protected:
22
23 FString ProductName = FString(TEXT("CADKernel"));
24
27
30
33
35
39
40#if defined(CADKERNEL_DEV) || defined(CADKERNEL_STDA)
44#endif
45
47
48public:
49
50 FSystem();
51
52 void Initialize(bool bIsDll = true, const FString& LogFilePath = TEXT(""), const FString& SpyFilePath = TEXT(""));
53
54 void Shutdown();
55
56 void CloseLogFiles();
57
58 static FString GetToolkitVersion();
59 static FString GetCompilationDate();
60
61 FVisu* GetVisu() const
62 {
63 return Viewer;
64 }
65
67 {
69 return *Console;
70 }
71
73 {
75 }
76
81
87
92
94 {
95 return VerboseLevel;
96 }
97
99 {
100 VerboseLevel = Level;
101 }
102
103 void InitializeCADKernel();
104
106 {
107 return LogLevel;
108 }
109
110 void DefineLogFile(const FString& LogFilePath, EVerboseLevel Level = Log);
112 {
113 return LogFile;
114 }
115
116 void DefineSpyFile(const FString& SpyFilePath);
118 {
119 return SpyFile;
120 }
121
122#if defined(CADKERNEL_DEV) || defined(CADKERNEL_STDA)
123 TSharedRef<FKernelParameters> GetParameters()
124 {
125 return Parameters;
126 }
127
128 void DefineReportFile(const FString& InLogFilePath);
130 {
131 return ReportFile;
132 }
133
135 {
136 return ReportHeaderFile;
137 }
138#endif
139
140 static FSystem& Get()
141 {
142 if (!Instance.IsValid())
143 {
145 }
146 return *Instance;
147 }
148
149protected:
150
151 void PrintHeader();
152
153};
154
155} // namespace UE::CADKernel
156
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ensureCADKernel(InExpression)
Definition Types.h:115
Definition Archive.h:1208
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition Console.h:11
Definition Database.h:17
Definition Progress.h:12
Definition System.h:18
FVisu * GetVisu() const
Definition System.h:61
EVerboseLevel LogLevel
Definition System.h:37
FConsole & GetConsole() const
Definition System.h:66
EVerboseLevel VerboseLevel
Definition System.h:46
FProgressManager DefaultProgressManager
Definition System.h:31
FConsole DefaultConsole
Definition System.h:28
FVisu DefaultVisu
Definition System.h:25
static FSystem & Get()
Definition System.h:140
void PrintHeader()
Definition System.cpp:158
TSharedPtr< FArchive > LogFile
Definition System.h:36
TSharedPtr< FArchive > GetLogFile() const
Definition System.h:111
FProgressManager & GetProgressManager()
Definition System.h:82
void SetConsole(FConsole *InConsole)
Definition System.h:77
TSharedPtr< FArchive > GetSpyFile() const
Definition System.h:117
void SetProgressManager(FProgressManager *InProgressManager)
Definition System.h:88
EVerboseLevel GetVerboseLevel() const
Definition System.h:93
FConsole * Console
Definition System.h:29
EVerboseLevel GetLogLevel() const
Definition System.h:105
void DefineLogFile(const FString &LogFilePath, EVerboseLevel Level=Log)
Definition System.cpp:85
FVisu * Viewer
Definition System.h:26
static FString GetCompilationDate()
Definition System.cpp:153
void CloseLogFiles()
Definition System.cpp:65
static TUniquePtr< FSystem > Instance
Definition System.h:34
void Shutdown()
Definition System.cpp:79
void DefineSpyFile(const FString &SpyFilePath)
Definition System.cpp:97
static FString GetToolkitVersion()
Definition System.cpp:145
void SetViewer(FVisu *NewViewer)
Definition System.h:72
void InitializeCADKernel()
Definition System.cpp:139
void SetVerboseLevel(EVerboseLevel Level)
Definition System.h:98
TSharedPtr< FArchive > SpyFile
Definition System.h:38
FSystem()
Definition System.cpp:25
FProgressManager * ProgressManager
Definition System.h:32
FString ProductName
Definition System.h:23
Definition Visu.h:89
Definition CADEntity.cpp:23
EVerboseLevel
Definition Types.h:104
@ Log
Definition Types.h:107