31 if (enableDynamicAabbTree)
64 shape->
getAabb(localTransform,localAabbMin,localAabbMax);
90 m_children[childIndex].m_transform = newChildTransform;
96 m_children[childIndex].m_childShape->getAabb(newChildTransform,localAabbMin,localAabbMax);
102 if (shouldRecalculateLocalAabb)
118 m_children[childShapeIndex].m_node->dataAsInt = childShapeIndex;
156 for (
int i=0;i<3;i++)
185 btVector3 extent = localHalfExtents.
dot3(abs_b[0], abs_b[1], abs_b[2]);
186 aabbMin = center-extent;
187 aabbMax = center+extent;
197 getAabb(ident,aabbMin,aabbMax);
205 inertia[0] = mass/(
btScalar(12.0)) * (ly*ly + lz*lz);
206 inertia[1] = mass/(
btScalar(12.0)) * (lx*lx + lz*lz);
207 inertia[2] = mass/(
btScalar(12.0)) * (lx*lx + ly*ly);
222 for (k = 0; k < n; k++)
225 center +=
m_children[k].m_transform.getOrigin() * masses[k];
226 totalMass += masses[k];
235 for ( k = 0; k < n; k++)
238 m_children[k].m_childShape->calculateLocalInertia(masses[k], i);
265 tensor[0] += masses[k] * j[0];
266 tensor[1] += masses[k] * j[1];
267 tensor[2] += masses[k] * j[2];
271 inertia.
setValue(tensor[0][0], tensor[1][1], tensor[2][2]);
285 m_children[i].m_childShape->setLocalScaling(childScale);
343 const char* structType =
m_children[i].m_childShape->serialize(chunk->
m_oldPtr,serializer);
352 return "btCompoundShapeData";