fixed MSVC 6 build, thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
fixed double precision build issues, thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
Primary author and maintainer: Erwin Coumans
|
||||
|
||||
2007 Aug 31
|
||||
- fixed MSVC 6 build
|
||||
Thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
|
||||
- fixed double precision build issues
|
||||
Thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
|
||||
|
||||
2007 Aug 24
|
||||
- fixed bug in btMatrix3x3::transposeTimes(const btMatrix3x3& m) const. Luckily it wasn't used in core parts of the library (yet).
|
||||
Thanks to Jay Lee
|
||||
|
||||
2007 Aug 15
|
||||
- fixed bug in Extras/GIMPACT 0.2 related to moving triangle meshes
|
||||
Thanks Thomas, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1368
|
||||
|
||||
@@ -25,7 +25,12 @@ subject to the following restrictions:
|
||||
|
||||
#define PL_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name
|
||||
|
||||
#ifdef BT_USE_DOUBLE_PRECISION
|
||||
typedef double plReal;
|
||||
#else
|
||||
typedef float plReal;
|
||||
#endif
|
||||
|
||||
typedef plReal plVector3[3];
|
||||
typedef plReal plQuaternion[4];
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ btMultiSapBroadphase::btMultiSapBroadphase(int maxProxies)
|
||||
// return true when pairs need collision
|
||||
virtual bool needBroadphaseCollision(btBroadphaseProxy* childProxy0,btBroadphaseProxy* childProxy1) const
|
||||
{
|
||||
btMultiSapProxy* multiSapProxy0 = (btMultiSapProxy*)childProxy0->m_multiSapParentProxy;
|
||||
btMultiSapProxy* multiSapProxy1 = (btMultiSapProxy*)childProxy1->m_multiSapParentProxy;
|
||||
btMultiSapBroadphase::btMultiSapProxy* multiSapProxy0 = (btMultiSapBroadphase::btMultiSapProxy*)childProxy0->m_multiSapParentProxy;
|
||||
btMultiSapBroadphase::btMultiSapProxy* multiSapProxy1 = (btMultiSapBroadphase::btMultiSapProxy*)childProxy1->m_multiSapParentProxy;
|
||||
|
||||
bool collides = (multiSapProxy0->m_collisionFilterGroup & multiSapProxy1->m_collisionFilterMask) != 0;
|
||||
collides = collides && (multiSapProxy1->m_collisionFilterGroup & multiSapProxy0->m_collisionFilterMask);
|
||||
|
||||
@@ -46,6 +46,8 @@ class btMultiSapBroadphase :public btBroadphaseInterface
|
||||
btBroadphaseInterface* m_childBroadphase;
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
struct btMultiSapProxy : public btBroadphaseProxy
|
||||
{
|
||||
|
||||
@@ -73,6 +75,8 @@ class btMultiSapBroadphase :public btBroadphaseInterface
|
||||
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
btAlignedObjectArray<btMultiSapProxy*> m_multiSapProxies;
|
||||
|
||||
public:
|
||||
|
||||
@@ -110,5 +110,5 @@ int btUniformScalingShape::getNumPreferredPenetrationDirections() const
|
||||
|
||||
void btUniformScalingShape::getPreferredPenetrationDirection(int index, btVector3& penetrationVector) const
|
||||
{
|
||||
return m_childConvexShape->getPreferredPenetrationDirection(index,penetrationVector);
|
||||
m_childConvexShape->getPreferredPenetrationDirection(index,penetrationVector);
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ void btConeTwistConstraint::solveConstraint(btScalar timeStep)
|
||||
|
||||
// Clamp the accumulated impulse
|
||||
btScalar temp = m_accSwingLimitImpulse;
|
||||
m_accSwingLimitImpulse = btMax(m_accSwingLimitImpulse + impulseMag, 0.0f );
|
||||
m_accSwingLimitImpulse = btMax(m_accSwingLimitImpulse + impulseMag, btScalar(0.0) );
|
||||
impulseMag = m_accSwingLimitImpulse - temp;
|
||||
|
||||
btVector3 impulse = m_swingAxis * impulseMag;
|
||||
@@ -266,7 +266,7 @@ void btConeTwistConstraint::solveConstraint(btScalar timeStep)
|
||||
|
||||
// Clamp the accumulated impulse
|
||||
btScalar temp = m_accTwistLimitImpulse;
|
||||
m_accTwistLimitImpulse = btMax(m_accTwistLimitImpulse + impulseMag, 0.0f );
|
||||
m_accTwistLimitImpulse = btMax(m_accTwistLimitImpulse + impulseMag, btScalar(0.0) );
|
||||
impulseMag = m_accTwistLimitImpulse - temp;
|
||||
|
||||
btVector3 impulse = m_twistAxis * impulseMag;
|
||||
|
||||
Reference in New Issue
Block a user