9 #ifndef GwNavGen_GeneratorSystem_H
10 #define GwNavGen_GeneratorSystem_H
35 class GeneratorInputOutput;
38 class GeneratorProfiling;
39 class BaseVisualDebugServer;
40 class BaseVisualDebugManager;
41 class VisualDebugServer;
43 class GeneratorReport;
62 const GeneratorAbstractGraphParameters& AbstractGraphParams()
const {
return m_genIO->m_abstractGraphParams; }
63 GeneratorAbstractGraphParameters& AbstractGraphParams() {
return m_genIO->m_abstractGraphParams; }
68 const GeneratorFileSystem& GetFileSystem()
const {
return m_fileSystem; }
69 GeneratorFileSystem& GetFileSystem() {
return m_fileSystem; }
71 const String& GetAbsoluteOutputDirectory()
const {
return GetFileSystem().GetAbsoluteOutputDirectory(); }
72 String GetAbsoluteFileName(
const String& relativeFileName)
const {
return GetFileSystem().GetAbsoluteFileName(relativeFileName); }
76 const PixelAndCellGrid& GetPixelAndCellGrid()
const {
return m_pixelAndCellGrid; }
77 PixelAndCellGrid& GetPixelAndCellGrid() {
return m_pixelAndCellGrid; }
79 KyFloat32 GetNormalizedRasterPrecision()
const {
return m_genIO->m_params.m_normalizedParameters.m_normalizedRasterPrecision; }
80 KyFloat32 GetNormalizedCellSize()
const {
return m_genIO->m_params.m_normalizedParameters.m_normalizedCellSize; }
85 void* LoadBlobBase(
const char* fileName, BaseBlobHandler& blobHandler);
88 T* LoadBlob(
const char* fileName,
BlobHandler<T>& blobHandler) {
return (T*)LoadBlobBase(fileName, blobHandler); }
94 KyResult LoadAggregate(
const char* fileName, BlobAggregate& aggregate);
99 void StartVisualDebug();
100 void StopVisualDebug();
101 bool IsVisualDebugConnected();
114 PixelAndCellGrid m_pixelAndCellGrid;
115 GeneratorIntegerCoords m_integerCoords;
117 String m_generatorInputOuputSaveFileName;
118 GeneratorFileSystem m_fileSystem;
120 GeneratorNavDataElementMap m_navDataElementGlobalMap;
122 Ptr<IParallelForInterface> m_parallelForInterface;
123 Ptr<ITlsAlloc> m_tlsAlloc;
124 Ptr<ICollisionInterface> m_collisionInterface;
125 GeneratorProfiling* m_generatorProfiling;
128 String m_inputTilesTempDir;
129 String m_inputTilePartsTempDir;
130 GenFlags::GenerationMode m_generationMode;
135 template <
class OSTREAM>
136 inline OSTREAM& operator<<(OSTREAM& os, GeneratorSystem& sys)
138 os << KY_LOG_SMALL_TITLE_BEGIN(
"",
"GeneratorSystem Info");
139 os <<
"ParallelForInterface status: " << (sys.m_parallelForInterface !=
KY_NULL ?
"SET" :
"UNSET") << Endl;
140 os <<
"VisualDebugServer status: " << (sys.IsVisualDebugConnected() ?
"CONNECTED" :
"DECONNECTED") << Endl;
141 os <<
"GamewareKey : " << (Kaim::GamewareKey::GetInstance().GetKey()) << Endl;
142 os << KY_LOG_SMALL_TITLE_END(
"",
"GeneratorSystem Info");
Base interface for a class that opens a file on disk.
Definition: fileopener.h:35
The GeneratorReport class encapsulates a detailed report of all activities carried out during a call ...
Definition: generatorreport.h:113
Provides an abstract base interface for an object that can treat computational jobs in parallel...
Definition: iparallelforinterface.h:43
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
GeneratorAdvancedParameters m_advancedParameters
Contains more advanced configuration parameters.
Definition: generatorparameters.h:178
KyUInt32 m_limitedMemoryModeTileSizeInNbCells
Size of the internally used tiles for large scale generations and/or running generation with low memo...
Definition: generatorrunoptions.h:130
GeneratorSystem gathers everything that is global across a generation: configuration, options...
Definition: generatorsystem.h:46
#define KY_NULL
Null value.
Definition: types.h:247
The BlobHandler class is a top-level mechanism for serializing blobs between objects in memory and fi...
Definition: blobhandler.h:45
IntermediateFilesConfig m_intermediateFiles
Contains configuration parameters that relate to the generation of intermediate data files...
Definition: generatorrunoptions.h:172
bool IsInputTilingEnabled() const
Tiling enabled i.e. IsLowMemoryModeEnabled() or possibly a future fast-local-input-produce-mode.
Definition: generatorsystem.h:105
Big-endian format (used, for example, for PlayStation 3, Xbox 360).
Definition: endianness.h:31
The GeneratorAdvancedParameters class is used by the GeneratorParameters class to maintain a set of c...
Definition: generatoradvancedparameters.h:34
Definition: gamekitcrowddispersion.h:20
The GeneratorParameters class contains configuration parameters that control the characteristics of t...
Definition: generatorparameters.h:75
bool m_doEnableLimitedMemoryMode
Determines whether or not the input geometry consumption is buffered to avoid exceeding the memory li...
Definition: generatorrunoptions.h:124
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
The VisualDebugServer manages the sending of data to clients.
Definition: visualdebugserver.h:254
The GeneratorRunOptions class contains configuration parameters that control the way in which the Gen...
Definition: generatorrunoptions.h:49
Type
Enumerates possible endianness types.
Definition: endianness.h:28
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
The BlobCategory class represents a collection of blob types.
Definition: blobcategory.h:25
This class gathers a set of generation parameters of one Database and manages the conversion between ...
Definition: databasegenmetrics.h:24
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43