refactor: remove heap-allocated AABBs

This commit is contained in:
orng
2026-03-28 02:58:56 -05:00
parent e48a05bb8f
commit 7101d03c6a
88 changed files with 353 additions and 387 deletions

View File

@@ -1691,7 +1691,7 @@ void LevelChunk::getEntities(std::shared_ptr<Entity> except, AABB* bb,
AUTO_VAR(itEnd, entities->end());
for (AUTO_VAR(it, entities->begin()); it != itEnd; it++) {
std::shared_ptr<Entity> e = *it; // entities->at(i);
if (e != except && e->bb->intersects(*bb) &&
if (e != except && e->bb.intersects(*bb) &&
(selector == NULL || selector->matches(e))) {
es.push_back(e);
std::vector<std::shared_ptr<Entity> >* subs =
@@ -1699,7 +1699,7 @@ void LevelChunk::getEntities(std::shared_ptr<Entity> except, AABB* bb,
if (subs != NULL) {
for (int j = 0; j < subs->size(); j++) {
e = subs->at(j);
if (e != except && e->bb->intersects(*bb) &&
if (e != except && e->bb.intersects(*bb) &&
(selector == NULL || selector->matches(e))) {
es.push_back(e);
}
@@ -1765,7 +1765,7 @@ void LevelChunk::getEntitiesOfClass(const std::type_info& ec, AABB* bb,
else if (Entity* entity = e.get();
entity != NULL && ec == typeid(*entity))
isAssignableFrom = true;
if (isAssignableFrom && e->bb->intersects(*bb)) {
if (isAssignableFrom && e->bb.intersects(*bb)) {
if (selector == NULL || selector->matches(e)) {
es.push_back(e);
}