Some more minor improvements for PS3 SPU version

This commit is contained in:
erwin.coumans
2009-08-06 20:03:09 +00:00
parent 709f981390
commit 5d2cf447e4
3 changed files with 48 additions and 10 deletions

View File

@@ -461,11 +461,22 @@ void btHingeConstraint::getInfo1NonVirtual(btConstraintInfo1* info)
void btHingeConstraint::getInfo2 (btConstraintInfo2* info)
{
getInfo2NonVirtual(info, m_rbA.getCenterOfMassTransform(),m_rbB.getCenterOfMassTransform(),m_rbA.getAngularVelocity(),m_rbB.getAngularVelocity());
getInfo2Internal(info, m_rbA.getCenterOfMassTransform(),m_rbB.getCenterOfMassTransform(),m_rbA.getAngularVelocity(),m_rbB.getAngularVelocity());
}
void btHingeConstraint::getInfo2NonVirtual (btConstraintInfo2* info, const btTransform& transA,const btTransform& transB,const btVector3& angVelA,const btVector3& angVelB)
void btHingeConstraint::getInfo2NonVirtual (btConstraintInfo2* info,const btTransform& transA,const btTransform& transB,const btVector3& angVelA,const btVector3& angVelB)
{
///the regular (virtual) implementation getInfo2 already performs 'testLimit' during getInfo1, so we need to do it now
testLimit(transA,transB);
getInfo2Internal(info,transA,transB,angVelA,angVelB);
}
void btHingeConstraint::getInfo2Internal(btConstraintInfo2* info, const btTransform& transA,const btTransform& transB,const btVector3& angVelA,const btVector3& angVelB)
{
btAssert(!m_useSolveConstraintObsolete);
int i, skip = info->rowskip;
// transforms in world space
@@ -474,7 +485,27 @@ void btHingeConstraint::getInfo2NonVirtual (btConstraintInfo2* info, const btTra
// pivot point
btVector3 pivotAInW = trA.getOrigin();
btVector3 pivotBInW = trB.getOrigin();
#if 0
if (0)
{
for (i=0;i<6;i++)
{
info->m_J1linearAxis[i*skip]=0;
info->m_J1linearAxis[i*skip+1]=0;
info->m_J1linearAxis[i*skip+2]=0;
info->m_J1angularAxis[i*skip]=0;
info->m_J1angularAxis[i*skip+1]=0;
info->m_J1angularAxis[i*skip+2]=0;
info->m_J2angularAxis[i*skip]=0;
info->m_J2angularAxis[i*skip+1]=0;
info->m_J2angularAxis[i*skip+2]=0;
info->m_constraintError[i*skip]=0.f;
}
}
#endif //#if 0
// linear (all fixed)
info->m_J1linearAxis[0] = 1;
info->m_J1linearAxis[skip + 1] = 1;
@@ -483,6 +514,7 @@ void btHingeConstraint::getInfo2NonVirtual (btConstraintInfo2* info, const btTra
btVector3 a1 = pivotAInW - transA.getOrigin();
{
btVector3* angular0 = (btVector3*)(info->m_J1angularAxis);