8 #ifndef GwNavGen_GeneratorAbstractGraphParameters_H
9 #define GwNavGen_GeneratorAbstractGraphParameters_H
21 class GeneratorAbstractGraphParametersBlob
24 KY_ROOT_BLOB_CLASS(Generator, GeneratorAbstractGraphParametersBlob, 0)
27 GeneratorAbstractGraphParametersBlob() {}
28 BlobFieldArray m_fields;
30 inline void SwapEndianness(
Endianness::Target e, GeneratorAbstractGraphParametersBlob&
self)
32 SwapEndianness(e,
self.m_fields);
35 enum GenerateAbstractGraphs
37 GENERATE_ABSTRACTGRAPHS_DISABLE = 0,
38 GENERATE_ABSTRACTGRAPHS_ENABLE = 1,
39 GENERATE_ABSTRACTGRAPHS_FORCE_ENABLE = 2,
42 class GeneratorAbstractGraphParameters
46 GeneratorAbstractGraphParameters();
50 void BuildBlob(BlobHandler<GeneratorAbstractGraphParametersBlob>& handler) const;
54 KyResult ReadFromAggregate(BlobAggregate& aggregate);
56 KyResult ReadBlob(const GeneratorAbstractGraphParametersBlob& blob);
59 void InitBlobFieldsMapping(BlobFieldsMapping& mapping);
60 void InitBlobFieldsMapping(BlobFieldsMapping& mapping) const;
63 bool operator==(const GeneratorAbstractGraphParameters& other)
const
65 return m_doGenerateAbstractGraphs == other.m_doGenerateAbstractGraphs
66 && m_extentsInNumberOfCells == other.m_extentsInNumberOfCells;
70 bool operator!=(
const GeneratorAbstractGraphParameters& other)
const {
return !operator==(other); }
84 template <
class OSTREAM>
85 inline OSTREAM& operator<<(OSTREAM& os, GeneratorAbstractGraphParameters& params)
87 BlobFieldsMapping mapping;
88 params.InitBlobFieldsMapping(mapping);
90 os << KY_LOG_SMALL_TITLE_BEGIN(
"",
"GeneratorAbstractGraphParameters Info");
92 os << KY_LOG_SMALL_TITLE_END(
"",
"GeneratorAbstractGraphParameters Info");
97 class GeneratorPostProcessParametersBlobBuilder :
public BaseBlobBuilder<GeneratorAbstractGraphParametersBlob>
100 GeneratorPostProcessParametersBlobBuilder(
const GeneratorAbstractGraphParameters* params)
105 virtual void DoBuild();
107 const GeneratorAbstractGraphParameters* m_params;
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36