20 class SpatializedPoint;
21 class PointDbSpatialization;
26 enum PointDbSpatializationFlag
28 PointDbSpatializationFlag_InNavMesh = 1 << 0
31 class PointDbSpatializationBlob
36 Vec3f m_triangleCenter;
37 Vec3f m_triangleNormal;
38 PositionSpatializationRange m_positionSpatializationRange;
43 SwapEndianness(e,
self.m_flags);
44 SwapEndianness(e,
self.m_databaseIndex);
45 SwapEndianness(e,
self.m_triangleCenter);
46 SwapEndianness(e,
self.m_triangleNormal);
47 SwapEndianness(e,
self.m_positionSpatializationRange);
50 class PointDbSpatializationBlobBuilder :
public BaseBlobBuilder<PointDbSpatializationBlob>
55 PointDbSpatializationBlobBuilder(const PointDbSpatialization* dbProjection, const SpatializedPoint* spatializedPoint,
KyUInt32 databaseIndex)
56 : m_dbProjection(dbProjection), m_spatializedPoint(spatializedPoint), m_databaseIndex(databaseIndex)
59 virtual void DoBuild();
62 const PointDbSpatialization* m_dbProjection;
63 const SpatializedPoint* m_spatializedPoint;
69 class SpatializationResultBlob
72 KY_ROOT_BLOB_CLASS(Runtime, SpatializationResultBlob, 0)
75 KyUInt32 GetOutsideNavmeshCount() const;
76 bool IsOutsideNavMesh(
KyUInt32 databaseIndex) const;
80 BlobArray<PointDbSpatializationBlob> m_pointDbSpatializations;
83 inline
void SwapEndianness(Endianness::Target e, SpatializationResultBlob& self)
85 SwapEndianness(e,
self.m_visualDebugId);
86 SwapEndianness(e,
self.m_pointDbSpatializations);
89 class SpatializationResultBlobBuilder :
public BaseBlobBuilder<SpatializationResultBlob>
94 SpatializationResultBlobBuilder(
KyUInt32 visualDebugId, const SpatializedPoint* spatializedPoint)
95 : m_visualDebugId(visualDebugId), m_spatializedPoint(spatializedPoint)
98 virtual void DoBuild();
102 const SpatializedPoint* m_spatializedPoint;
108 class SpatializedPointBlob
111 KY_ROOT_BLOB_CLASS(Runtime, SpatializedPointBlob, 0)
115 KyUInt32 GetOutsideNavmeshCount() const;
118 BlobArray<PointDbSpatializationBlob> m_pointDbSpatializations;
124 inline
void SwapEndianness(Endianness::Target e, SpatializedPointBlob& self)
126 SwapEndianness(e,
self.m_pointDbSpatializations);
127 SwapEndianness(e,
self.m_position);
128 SwapEndianness(e,
self.m_height);
129 SwapEndianness(e,
self.m_type);
135 class SpatializedPointBlobBuilder :
public BaseBlobBuilder<SpatializedPointBlob>
140 SpatializedPointBlobBuilder(const SpatializedPoint* spatializedPoint,
VisualDebugLOD visualDebugLOD)
141 : m_spatializedPoint(spatializedPoint)
142 , m_visualDebugLOD(visualDebugLOD)
145 virtual void DoBuild();
148 void FillPointDbSpatializationBlob(
const PointDbSpatialization& dbProjection,
149 PointDbSpatializationBlob& pointDbSpatialization,
KyUInt32 i);
151 const SpatializedPoint* m_spatializedPoint;
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
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
VisualDebugLOD
Enumerates the visual debug levels of details.
Definition: worldelement.h:22
float KyFloat32
float
Definition: types.h:32