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

@@ -65,10 +65,15 @@ const NzBoxf& NzSkeleton::GetAABB() const
if (!m_impl->aabbUpdated)
{
m_impl->aabb.MakeZero();
for (unsigned int i = 0; i < m_impl->joints.size(); ++i)
m_impl->aabb.ExtendTo(m_impl->joints[i].GetPosition());
unsigned int jointCount = m_impl->joints.size();
if (jointCount > 0)
{
m_impl->aabb.Set(m_impl->joints[0].GetPosition());
for (unsigned int i = 1; i < jointCount; ++i)
m_impl->aabb.ExtendTo(m_impl->joints[i].GetPosition());
}
else
m_impl->aabb.MakeZero();
m_impl->aabbUpdated = true;
}