Added preliminary cmake support for PE branch, Win32 only for now.

This commit is contained in:
erwin.coumans
2011-01-07 01:48:50 +00:00
parent 22ff43e388
commit f10846ed7a
12 changed files with 143 additions and 80 deletions

View File

@@ -19,16 +19,21 @@ subject to the following restrictions:
#include "LinearMath/btVector3.h"
#include "LinearMath/btTransformUtil.h"
// Don't change following order of parameters
ATTRIBUTE_ALIGNED16(struct) PfxConstraintRow {
btScalar mNormal[3];
btScalar mRhs;
btScalar mJacDiagInv;
btScalar mLowerLimit;
btScalar mUpperLimit;
btScalar mAccumImpulse;
};
#if 1 //#ifdef PFX_USE_FREE_VECTORMATH
#include "physics_effects\base_level\solver\pfx_constraint_row.h"
typedef sce::PhysicsEffects::PfxConstraintRow btConstraintRow;
#else
// Don't change following order of parameters
ATTRIBUTE_ALIGNED16(struct) btConstraintRow {
btScalar m_normal[3];
btScalar m_rhs;
btScalar m_jacDiagInv;
btScalar m_lowerLimit;
btScalar m_upperLimit;
btScalar m_accumImpulse;
};
typedef btConstraintRow PfxConstraintRow;
#endif //PFX_USE_FREE_VECTORMATH
@@ -71,9 +76,9 @@ class btManifoldPoint
m_contactCFM2(0.f),
m_lifeTime(0)
{
mConstraintRow[0].mAccumImpulse = 0.f;
mConstraintRow[1].mAccumImpulse = 0.f;
mConstraintRow[2].mAccumImpulse = 0.f;
mConstraintRow[0].m_accumImpulse = 0.f;
mConstraintRow[1].m_accumImpulse = 0.f;
mConstraintRow[2].m_accumImpulse = 0.f;
}
@@ -113,7 +118,7 @@ class btManifoldPoint
PfxConstraintRow mConstraintRow[3];
btConstraintRow mConstraintRow[3];
btScalar getDistance() const

View File

@@ -146,9 +146,9 @@ public:
m_pointCache[index] = m_pointCache[lastUsedIndex];
//get rid of duplicated userPersistentData pointer
m_pointCache[lastUsedIndex].m_userPersistentData = 0;
m_pointCache[lastUsedIndex].mConstraintRow[0].mAccumImpulse = 0.f;
m_pointCache[lastUsedIndex].mConstraintRow[1].mAccumImpulse = 0.f;
m_pointCache[lastUsedIndex].mConstraintRow[2].mAccumImpulse = 0.f;
m_pointCache[lastUsedIndex].mConstraintRow[0].m_accumImpulse = 0.f;
m_pointCache[lastUsedIndex].mConstraintRow[1].m_accumImpulse = 0.f;
m_pointCache[lastUsedIndex].mConstraintRow[2].m_accumImpulse = 0.f;
m_pointCache[lastUsedIndex].m_appliedImpulse = 0.f;
m_pointCache[lastUsedIndex].m_lateralFrictionInitialized = false;
@@ -167,9 +167,9 @@ public:
#define MAINTAIN_PERSISTENCY 1
#ifdef MAINTAIN_PERSISTENCY
int lifeTime = m_pointCache[insertIndex].getLifeTime();
btScalar appliedImpulse = m_pointCache[insertIndex].mConstraintRow[0].mAccumImpulse;
btScalar appliedLateralImpulse1 = m_pointCache[insertIndex].mConstraintRow[1].mAccumImpulse;
btScalar appliedLateralImpulse2 = m_pointCache[insertIndex].mConstraintRow[2].mAccumImpulse;
btScalar appliedImpulse = m_pointCache[insertIndex].mConstraintRow[0].m_accumImpulse;
btScalar appliedLateralImpulse1 = m_pointCache[insertIndex].mConstraintRow[1].m_accumImpulse;
btScalar appliedLateralImpulse2 = m_pointCache[insertIndex].mConstraintRow[2].m_accumImpulse;
// bool isLateralFrictionInitialized = m_pointCache[insertIndex].m_lateralFrictionInitialized;
@@ -184,9 +184,9 @@ public:
m_pointCache[insertIndex].m_appliedImpulseLateral1 = appliedLateralImpulse1;
m_pointCache[insertIndex].m_appliedImpulseLateral2 = appliedLateralImpulse2;
m_pointCache[insertIndex].mConstraintRow[0].mAccumImpulse = appliedImpulse;
m_pointCache[insertIndex].mConstraintRow[1].mAccumImpulse = appliedLateralImpulse1;
m_pointCache[insertIndex].mConstraintRow[2].mAccumImpulse = appliedLateralImpulse2;
m_pointCache[insertIndex].mConstraintRow[0].m_accumImpulse = appliedImpulse;
m_pointCache[insertIndex].mConstraintRow[1].m_accumImpulse = appliedLateralImpulse1;
m_pointCache[insertIndex].mConstraintRow[2].m_accumImpulse = appliedLateralImpulse2;
m_pointCache[insertIndex].m_lifeTime = lifeTime;