26 class BoxObstacleSpatializedCylindersBlob
29 KY_ROOT_BLOB_CLASS(Runtime, BoxObstacleSpatializedCylindersBlob, 0)
31 BoxObstacleSpatializedCylindersBlob() {}
34 BlobArray<SpatializedCylinderBlob> m_spatializedCylinderBlobs;
37 inline void SwapEndianness(
Endianness::Target e, BoxObstacleSpatializedCylindersBlob&
self)
39 SwapEndianness(e,
self.m_visualDebugId);
40 SwapEndianness(e,
self.m_spatializedCylinderBlobs);
43 class BoxObstacleSpatializedCylindersBlobBuilder :
public BaseBlobBuilder<BoxObstacleSpatializedCylindersBlob>
47 BoxObstacleSpatializedCylindersBlobBuilder(const BoxObstacle* boxObstacle,
KyUInt32 visualDebugId)
48 : m_visualDebugId(visualDebugId), m_boxObstacle(boxObstacle) {}
49 virtual void DoBuild();
53 const BoxObstacle* m_boxObstacle;
62 class BoxObstacleSpatializedCylinderConfigsBlob
65 KY_ROOT_BLOB_CLASS(Runtime, BoxObstacleSpatializedCylinderConfigsBlob, 0)
68 BoxObstacleSpatializedCylinderConfigsBlob() {}
71 BlobArray<SpatializedCylinderConfigBlob> m_spatializedCylinderConfigBlobs;
72 DatabaseBindingBlob m_databaseBinding;
75 inline void SwapEndianness(
Endianness::Target e, BoxObstacleSpatializedCylinderConfigsBlob&
self)
77 SwapEndianness(e,
self.m_visualDebugId);
78 SwapEndianness(e,
self.m_spatializedCylinderConfigBlobs);
79 SwapEndianness(e,
self.m_databaseBinding);
82 class BoxObstacleSpatializedCylinderConfigsBlobBuilder :
public BaseBlobBuilder<BoxObstacleSpatializedCylinderConfigsBlob>
86 BoxObstacleSpatializedCylinderConfigsBlobBuilder(const BoxObstacle* boxObstacle,
KyUInt32 visualDebugId)
87 : m_visualDebugId(visualDebugId), m_boxObstacle(boxObstacle) {}
88 virtual void DoBuild();
92 const BoxObstacle* m_boxObstacle;
101 class BoxObstacleSpatializationResultsBlob
104 KY_ROOT_BLOB_CLASS(Runtime, BoxObstacleSpatializationResultsBlob, 0)
107 BoxObstacleSpatializationResultsBlob() {}
109 KyUInt32 GetOutsideNavmeshCount()
const;
114 BlobArray<SpatializationResultBlob> m_spatializationResultBlobs;
117 inline void SwapEndianness(
Endianness::Target e, BoxObstacleSpatializationResultsBlob&
self)
119 SwapEndianness(e,
self.m_visualDebugId);
120 SwapEndianness(e,
self.m_spatializationResultBlobs);
123 class BoxObstacleSpatializationResultsBlobBuilder :
public BaseBlobBuilder<BoxObstacleSpatializationResultsBlob>
127 BoxObstacleSpatializationResultsBlobBuilder(const BoxObstacle* boxObstacle,
KyUInt32 visualDebugId)
128 : m_visualDebugId(visualDebugId), m_boxObstacle(boxObstacle) {}
129 virtual void DoBuild();
133 const BoxObstacle* m_boxObstacle;
142 class BoxObstacleBlob
145 KY_ROOT_BLOB_CLASS(Runtime, BoxObstacleBlob, 0)
149 void GetWorldPosition(Vec3f& worldPosition)
const { worldPosition = m_worldTransform.DoTransform(m_localCenter); }
150 void GetWorldAABB(Box3f& worldAABB)
const;
153 Vec3f m_localHalfExtents;
154 Transform m_worldTransform;
156 Vec3f m_linearVelocity;
157 Vec3f m_angularVelocity;
160 KyUInt32 m_tagVolumeIntegrationStatus;
166 SwapEndianness(e,
self.m_localCenter);
167 SwapEndianness(e,
self.m_localHalfExtents);
168 SwapEndianness(e,
self.m_worldTransform);
169 SwapEndianness(e,
self.m_linearVelocity);
170 SwapEndianness(e,
self.m_angularVelocity);
171 SwapEndianness(e,
self.m_rotationMode);
172 SwapEndianness(e,
self.m_tagVolumeIntegrationStatus);
173 SwapEndianness(e,
self.m_visualDebugId);
176 class BoxObstacleBlobBuilder :
public BaseBlobBuilder<BoxObstacleBlob>
180 BoxObstacleBlobBuilder(const BoxObstacle* boxObstacle) : m_boxObstacle(boxObstacle)
184 virtual void DoBuild();
186 const BoxObstacle* m_boxObstacle;
198 class BoxObstaclesCollectionBlob
201 KY_ROOT_BLOB_CLASS(Runtime, BoxObstaclesCollectionBlob, 0)
203 BlobArray<BoxObstacleBlob> m_boxObstacles;
205 inline
void SwapEndianness(Endianness::Target e, BoxObstaclesCollectionBlob& self)
207 SwapEndianness(e,
self.m_boxObstacles);
217 : m_boxObstacles(&boxObstacles)
220 virtual void DoBuild();
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
TrackedCollection is a class which is a "Collection" of T=C* or T = Ptr< c="" /> (not sorted...
Definition: collection.h:77
#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
A type of blob builder that creates a BoxObstaclesCollectionBlob from a list of box BoxObstacles (Kai...
Definition: boxobstacleblob.h:212
BaseBlobBuilder is an abstract base class that builds a blob within a contiguous block of memory...
Definition: baseblobbuilder.h:27