20 class GeneratorAbstractGraphParametersBlob
23 KY_ROOT_BLOB_CLASS(Generator, GeneratorAbstractGraphParametersBlob, 0)
26 GeneratorAbstractGraphParametersBlob() {}
27 BlobFieldArray m_fields;
29 inline void SwapEndianness(
Endianness::Target e, GeneratorAbstractGraphParametersBlob&
self)
31 SwapEndianness(e,
self.m_fields);
34 enum AbstractGraphBuildMode
36 GENERATE_ABSTRACTGRAPHS_DISABLE = 0,
37 GENERATE_ABSTRACTGRAPHS_ENABLE = 1,
38 GENERATE_ABSTRACTGRAPHS_FORCE_ENABLE = 2,
41 class GeneratorAbstractGraphParameters
45 GeneratorAbstractGraphParameters();
49 void BuildBlob(BlobHandler<GeneratorAbstractGraphParametersBlob>& handler) const;
53 KyResult ReadFromAggregate(BlobAggregate& aggregate);
55 KyResult ReadBlob(const GeneratorAbstractGraphParametersBlob& blob);
57 void SetMode(AbstractGraphBuildMode mode) { m_doGenerateAbstractGraphs = mode; }
58 AbstractGraphBuildMode GetMode()
const {
return (AbstractGraphBuildMode)m_doGenerateAbstractGraphs; }
61 void InitBlobFieldsMapping(BlobFieldsMapping& mapping);
62 void InitBlobFieldsMapping(BlobFieldsMapping& mapping)
const;
65 bool operator==(
const GeneratorAbstractGraphParameters& other)
const
67 return m_doGenerateAbstractGraphs == other.m_doGenerateAbstractGraphs
68 && m_extentsInNumberOfCells == other.m_extentsInNumberOfCells
69 && m_workingMemorySizeLimit == other.m_workingMemorySizeLimit;
73 bool operator!=(
const GeneratorAbstractGraphParameters& other)
const {
return !operator==(other); }
89 template <
class OSTREAM>
90 inline OSTREAM& operator<<(OSTREAM& os, GeneratorAbstractGraphParameters& params)
92 BlobFieldsMapping mapping;
93 params.InitBlobFieldsMapping(mapping);
95 os << KY_LOG_SMALL_TITLE_BEGIN(
"",
"GeneratorAbstractGraphParameters Info");
97 os << KY_LOG_SMALL_TITLE_END(
"",
"GeneratorAbstractGraphParameters Info");
102 class GeneratorAbstractGraphParametersBlobBuilder :
public BaseBlobBuilder<GeneratorAbstractGraphParametersBlob>
105 GeneratorAbstractGraphParametersBlobBuilder(
const GeneratorAbstractGraphParameters* params)
110 virtual void DoBuild();
112 const GeneratorAbstractGraphParameters* m_params;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17