19 class DatabaseGenMetrics;
21 class GeneratorNormalizedParameters
26 GeneratorNormalizedParameters();
41 class GeneratorParametersBlob
44 KY_ROOT_BLOB_CLASS(Generator, GeneratorParametersBlob, 0)
47 GeneratorParametersBlob() {}
48 BlobFieldArray m_fields;
49 NavTag m_defaultNavTag;
50 Color m_emptyDefaultNavTagColor;
51 Color m_nonEmptyDefaultNavTagColor;
52 Color m_nonDefaultNavTagColor;
56 SwapEndianness(e,
self.m_fields);
57 SwapEndianness(e,
self.m_defaultNavTag);
58 SwapEndianness(e,
self.m_emptyDefaultNavTagColor);
59 SwapEndianness(e,
self.m_nonEmptyDefaultNavTagColor);
60 SwapEndianness(e,
self.m_nonDefaultNavTagColor);
84 void SetDefaultNavTag(
const KyArrayPOD<KyUInt32>& blindDataArray) { SetDefaultNavTag(blindDataArray.GetDataPtr(), blindDataArray.GetCount()); }
85 void SetDefaultNavTag(
const KyUInt32* blindDataBuffer,
KyUInt32 blindDataCount);
86 void SetEmptyDefaultNavTagColor(Color color);
87 void SetNonEmptyDefaultNavTagColor(Color color);
88 void SetNonDefaultNavTagColor(Color color);
90 const DynamicNavTag& GetDefaultNavTag()
const {
return m_defaultNavTag; }
93 void ComputeNormalizedParams();
96 void ComputeDatabaseGenMetrics(DatabaseGenMetrics& genMetrics)
const;
98 void BuildBlob(BlobHandler<GeneratorParametersBlob>& handler)
const;
100 KyResult ReadFromBlobHandler(BlobHandler<GeneratorParametersBlob>& handler) {
return ReadFromBlob(*handler.Blob()); }
101 KyResult ReadFromAggregate(BlobAggregate& aggregate);
103 bool operator==(
const GeneratorParameters& other)
const;
104 bool operator!=(
const GeneratorParameters& other)
const {
return !operator==(other); }
106 void InitBlobFieldMapping(BlobFieldsMapping& mapping,
KyUInt32& version);
107 void InitBlobFieldMapping(BlobFieldsMapping& mapping,
KyUInt32& version)
const;
109 KyResult ReadFromBlob(
const GeneratorParametersBlob& blob);
160 GeneratorNormalizedParameters m_normalizedParameters;
168 template <
class OSTREAM>
171 BlobFieldsMapping mapping;
173 params.InitBlobFieldMapping(mapping, version);
175 os << KY_LOG_SMALL_TITLE_BEGIN(
"",
"GeneratorParameters Info");
178 os << KY_LOG_SMALL_TITLE_END(
"",
"GeneratorParameters Info");
183 class GeneratorParametersBlobBuilder :
public BaseBlobBuilder<GeneratorParametersBlob>
186 GeneratorParametersBlobBuilder(
const GeneratorParameters* params) : m_params(params) {}
189 virtual void DoBuild();
191 const GeneratorParameters* m_params;
KyFloat32 m_stepMax
The maximum difference in altitude that the character can traverse in its normal movement.
Definition: generatorparameters.h:126
KyFloat32 m_cellSize
Determines the approximate width and length of each cell in the grid used to partition the NavMesh in...
Definition: generatorparameters.h:148
GeneratorAdvancedParameters m_advancedParameters
Contains more advanced configuration parameters.
Definition: generatorparameters.h:157
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
KyFloat32 m_entityHeight
The height of the character.
Definition: generatorparameters.h:115
#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
This class provides information about Autodesk Navigation version.
Definition: version.h:17
The GeneratorAdvancedParameters class is used by the GeneratorParameters class to maintain a set of c...
Definition: generatoradvancedparameters.h:30
DynamicNavTag m_defaultNavTag
Specifies the default NavTag that will be applied to all input triangles that do not otherwise have a...
Definition: generatorparameters.h:164
KyFloat32 m_entityRadius
The radius (or half-width) of the character.
Definition: generatorparameters.h:121
KyFloat32 m_altitudeTolerance
Determines the maximum difference in altitude that may exist between the NavMesh and the original ter...
Definition: generatorparameters.h:153
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
void SetDefaultValues()
alias for Clear()
Definition: generatorparameters.h:82
The GeneratorParameters class contains configuration parameters that control the characteristics of t...
Definition: generatorparameters.h:67
KyFloat32 m_slopeMax
The maximum slope that the character can traverse in its normal movement.
Definition: generatorparameters.h:133
KyFloat32 m_rasterPrecision
Determines the approximate width and length of each pixel used to rasterize the input triangles...
Definition: generatorparameters.h:141
float KyFloat32
float
Definition: types.h:32