gwnavruntime/spatialization/tagvolumespatialization.h Source File
Go to the documentation of this file.
9 #ifndef Navigation_TagVolumeSpatialization_H
10 #define Navigation_TagVolumeSpatialization_H
20 class DatabaseBinding;
34 bool IsComputed()
const {
return m_cellBox !=
CellBox(); }
35 void Compute(
const Box3f& aabb,
KyUInt32 obstacleTypeUInt, Database* database);
36 void Clear() { m_extendedAabb.Clear(); m_cellBox.Clear(); }
45 class TagVolumeDatabaseData
53 void Init(Ptr<DatabaseBinding> databaseBinding);
55 KyUInt32 GetTagVolumeDbDataCount()
const;
57 TagVolumeDbData& GetTagVolumeDbData(
KyUInt32 boundDatabaseIdx);
58 const TagVolumeDbData& GetTagVolumeDbData(
KyUInt32 boundDatabaseIdx)
const;
60 void ComputeTagVolumeDbData(
const Box3f& aabb,
KyUInt32 tagVolumeExtendOptions);
65 void CreateTagVolumeDbData();
66 void DestroyTagVolumeDbData();
69 Ptr<DatabaseBinding> m_databaseBinding;
70 TagVolumeDbData* m_tagVolumeDbData;
74 KY_INLINE
KyUInt32 TagVolumeDatabaseData::GetTagVolumeDbDataCount()
const {
return (m_databaseBinding ?
KyUInt32(m_databaseBinding->GetBoundDatabaseCount()) : 0); }
75 KY_INLINE TagVolumeDbData& TagVolumeDatabaseData::GetTagVolumeDbData(
KyUInt32 i) {
return m_tagVolumeDbData[i]; }
76 KY_INLINE
const TagVolumeDbData& TagVolumeDatabaseData::GetTagVolumeDbData(
KyUInt32 i)
const {
return m_tagVolumeDbData[i]; }
80 #endif // Navigation_TagVolumeSpatialization_H
Box2i CellBox
A type that represents a bounding box around cells in a 2D grid.
Definition: navmeshtypes.h:34
#define KY_NULL
Null value.
Definition: types.h:247
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
Each TagVolume instance aggregates one instance of this class to maintain its spatialization informat...
Definition: tagvolumespatialization.h:47
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36