Skip to content

Commit f5129d4

Browse files
committed
Fixed error when double click non Transform entities
1 parent 410a09c commit f5129d4

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

editor/render/SceneRender.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,17 @@ AABB editor::SceneRender::getAABB(Entity entity, bool local){
135135
}
136136

137137
AABB editor::SceneRender::getFamilyAABB(Entity entity, float offset){
138+
Signature signature = scene->getSignature(entity);
139+
if (!signature.test(scene->getComponentId<Transform>())) {
140+
AABB entityAABB = getAABB(entity, false);
141+
if (!entityAABB.isNull() && !entityAABB.isInfinite()) {
142+
Vector3 min = entityAABB.getMinimum() - Vector3(offset);
143+
Vector3 max = entityAABB.getMaximum() + Vector3(offset);
144+
entityAABB.setExtents(min, max);
145+
}
146+
return entityAABB;
147+
}
148+
138149
auto transforms = scene->getComponentArray<Transform>();
139150
size_t index = transforms->getIndex(entity);
140151

@@ -263,6 +274,15 @@ OBB editor::SceneRender::getOBB(Entity entity, bool local){
263274
}
264275

265276
OBB editor::SceneRender::getFamilyOBB(Entity entity, float offset){
277+
Signature signature = scene->getSignature(entity);
278+
if (!signature.test(scene->getComponentId<Transform>())) {
279+
OBB entityOBB = getOBB(entity, false);
280+
if (!entityOBB.isNull()) {
281+
entityOBB.setHalfExtents(entityOBB.getHalfExtents() + Vector3(offset));
282+
}
283+
return entityOBB;
284+
}
285+
266286
auto transforms = scene->getComponentArray<Transform>();
267287
size_t index = transforms->getIndex(entity);
268288

0 commit comments

Comments
 (0)