Fixed AABBs being larger than mesh/skeleton

When mesh/skeleton was not centered


Former-commit-id: 595b234c20ae0447fe0c2263d4e000d87fea7300
This commit is contained in:
Lynix
2013-06-09 16:14:51 +02:00
parent 542ce665c2
commit 346415e860
3 changed files with 20 additions and 18 deletions

View File

@@ -401,10 +401,15 @@ const NzBoxf& NzMesh::GetAABB() const
if (!m_impl->aabbUpdated)
{
m_impl->aabb.MakeZero();
for (NzSubMesh* subMesh : m_impl->subMeshes)
m_impl->aabb.ExtendTo(subMesh->GetAABB());
unsigned int subMeshCount = m_impl->subMeshes.size();
if (subMeshCount > 0)
{
m_impl->aabb.Set(m_impl->subMeshes[0]->GetAABB());
for (unsigned int i = 1; i < subMeshCount; ++i)
m_impl->aabb.ExtendTo(m_impl->subMeshes[i]->GetAABB());
}
else
m_impl->aabb.MakeZero();
m_impl->aabbUpdated = true;
}