diff options
Diffstat (limited to 'extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h')
-rw-r--r-- | extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h b/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h index c7c9812985d..cd310570e06 100644 --- a/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +++ b/extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h @@ -19,7 +19,21 @@ subject to the following restrictions: #include "LinearMath/btVector3.h" #include "LinearMath/btTransformUtil.h" - +#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 @@ -34,6 +48,10 @@ class btManifoldPoint m_lateralFrictionInitialized(false), m_appliedImpulseLateral1(0.f), m_appliedImpulseLateral2(0.f), + m_contactMotion1(0.f), + m_contactMotion2(0.f), + m_contactCFM1(0.f), + m_contactCFM2(0.f), m_lifeTime(0) { } @@ -52,10 +70,15 @@ class btManifoldPoint m_lateralFrictionInitialized(false), m_appliedImpulseLateral1(0.f), m_appliedImpulseLateral2(0.f), + m_contactMotion1(0.f), + m_contactMotion2(0.f), + m_contactCFM1(0.f), + m_contactCFM2(0.f), m_lifeTime(0) { - - + mConstraintRow[0].m_accumImpulse = 0.f; + mConstraintRow[1].m_accumImpulse = 0.f; + mConstraintRow[2].m_accumImpulse = 0.f; } @@ -83,11 +106,21 @@ class btManifoldPoint bool m_lateralFrictionInitialized; btScalar m_appliedImpulseLateral1; btScalar m_appliedImpulseLateral2; + btScalar m_contactMotion1; + btScalar m_contactMotion2; + btScalar m_contactCFM1; + btScalar m_contactCFM2; + int m_lifeTime;//lifetime of the contactpoint in frames btVector3 m_lateralFrictionDir1; btVector3 m_lateralFrictionDir2; + + + btConstraintRow mConstraintRow[3]; + + btScalar getDistance() const { return m_distance1; |