make the btAcosf/btAsinf fix multi-line to make it easier to put breakpoints.
fix a memory leak issue with ColladaConverter (keep track of the btTriangleMesh containers)
This commit is contained in:
@@ -2894,6 +2894,7 @@ btCollisionShape* ColladaConverter::createCylinderShapeY(btScalar radius,btScala
|
||||
btTriangleMesh* ColladaConverter::createTriangleMeshContainer()
|
||||
{
|
||||
btTriangleMesh* meshContainer = new btTriangleMesh(m_use32bitIndices,m_use4componentVertices);
|
||||
m_allocatedTriangleMeshContainers.push_back(meshContainer);
|
||||
return meshContainer;
|
||||
}
|
||||
|
||||
@@ -2948,6 +2949,12 @@ void ColladaConverter::deleteAllocatedCollisionShapes()
|
||||
delete m_allocatedCollisionShapes[i];
|
||||
}
|
||||
m_allocatedCollisionShapes.clear();
|
||||
|
||||
for (int i=0;i<m_allocatedTriangleMeshContainers.size();i++)
|
||||
{
|
||||
delete m_allocatedTriangleMeshContainers[i];
|
||||
}
|
||||
m_allocatedTriangleMeshContainers.clear();
|
||||
}
|
||||
|
||||
void ColladaConverter::deleteShape(btCollisionShape* shape)
|
||||
|
||||
@@ -86,7 +86,7 @@ protected:
|
||||
btDynamicsWorld* m_dynamicsWorld;
|
||||
|
||||
btAlignedObjectArray<class btCollisionShape*> m_allocatedCollisionShapes;
|
||||
|
||||
btAlignedObjectArray<class btTriangleMesh*> m_allocatedTriangleMeshContainers;
|
||||
|
||||
btHashMap<btHashKeyPtr<btRigidBodyColladaInfo*>,btRigidBodyColladaInfo*> m_rbUserInfoHashMap;
|
||||
btHashMap<btHashKeyPtr<btRigidConstraintColladaInfo*>,btRigidConstraintColladaInfo*> m_constraintUserInfoHashMap;
|
||||
|
||||
@@ -250,11 +250,17 @@ SIMD_FORCE_INLINE btScalar btSin(btScalar x) { return sinf(x); }
|
||||
SIMD_FORCE_INLINE btScalar btTan(btScalar x) { return tanf(x); }
|
||||
SIMD_FORCE_INLINE btScalar btAcos(btScalar x) {
|
||||
btAssert(x <= btScalar(1.));
|
||||
if (x<btScalar(-1)) x=btScalar(-1); if (x>btScalar(1)) x=btScalar(1);
|
||||
if (x<btScalar(-1))
|
||||
x=btScalar(-1);
|
||||
if (x>btScalar(1))
|
||||
x=btScalar(1);
|
||||
return acosf(x);
|
||||
}
|
||||
SIMD_FORCE_INLINE btScalar btAsin(btScalar x) {
|
||||
if (x<btScalar(-1)) x=btScalar(-1); if (x>btScalar(1)) x=btScalar(1);
|
||||
if (x<btScalar(-1))
|
||||
x=btScalar(-1);
|
||||
if (x>btScalar(1))
|
||||
x=btScalar(1);
|
||||
return asinf(x);
|
||||
}
|
||||
SIMD_FORCE_INLINE btScalar btAtan(btScalar x) { return atanf(x); }
|
||||
|
||||
Reference in New Issue
Block a user