diff --git a/ChangeLog.txt b/ChangeLog.txt index ec177efb9..2493f5e00 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,6 +1,13 @@ Bullet Continuous Collision Detection and Physics Library Primary author and maintainer: Erwin Coumans +2007 Oct 13 + - made 'btCollisionShape::calculateLocalInertia' const + Thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514 + - applied a large patch to remove warnings + Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568 + - removed SSE includes, added #incude for memset in Extras/quickstep, thanks Eternl Knight + 2007 Oct 11 - added Hashed Overlapping Pair Cache, recommended by Pierre Terdiman. It works like a charm, thanks Pierre and Erin Catto (code from Box2D) - modified some margins inside btBoxShape, btCylinderShape and btSphereShape diff --git a/Demos/BspDemo/BspDemo.cpp b/Demos/BspDemo/BspDemo.cpp index af1d041a5..14e75bb78 100644 --- a/Demos/BspDemo/BspDemo.cpp +++ b/Demos/BspDemo/BspDemo.cpp @@ -96,7 +96,7 @@ int main(int argc,char** argv) BspDemo* bspDemo = new BspDemo(); - char* bspfilename = "BspDemo.bsp"; + const char* bspfilename = "BspDemo.bsp"; printf("argc=%i\n",argc); { @@ -113,7 +113,8 @@ int main(int argc,char** argv) bspfilename = argv[1]; } - bspDemo->initPhysics(bspfilename); + // Enrico: TODO: Should change parameter type of initPhysics() to std::string or at least const char * + bspDemo->initPhysics((char*)bspfilename); bspDemo->setCameraDistance(22.f); diff --git a/Demos/BulletDinoDemo/BulletDino.c b/Demos/BulletDinoDemo/BulletDino.c index 21fc181a5..6fb98460b 100644 --- a/Demos/BulletDinoDemo/BulletDino.c +++ b/Demos/BulletDinoDemo/BulletDino.c @@ -340,7 +340,6 @@ drawDinosaur(void) { plReal matrix[16]; - plVector3 dinoWorldPos; glPushMatrix(); /* Translate the dinosaur to be at (0,8,0). */ @@ -839,7 +838,7 @@ main(int argc, char **argv) plVector3 dinoPos; plQuaternion childOrn,dinoOrient; - void* user_data; + void* user_data=NULL; physicsSdk = plNewBulletSdk(); dynamicsWorld = plCreateDynamicsWorld(physicsSdk); diff --git a/Demos/ColladaDemo/ColladaDemo.cpp b/Demos/ColladaDemo/ColladaDemo.cpp index 8251445fa..1fe2f5c43 100644 --- a/Demos/ColladaDemo/ColladaDemo.cpp +++ b/Demos/ColladaDemo/ColladaDemo.cpp @@ -141,7 +141,7 @@ int main(int argc,char** argv) /// Import Collada 1.4 Physics objects /// also can pass filename in as argument - char* filename = "jenga.dae"; + const char* filename = "jenga.dae"; printf("argc=%i\n",argc); { for (int i=0;igetChildShape(); float scalingFactor = (float)scalingShape->getUniformScalingFactor(); { - btScalar tmpScaling[4][4]={scalingFactor,0,0,0, - 0,scalingFactor,0,0, - 0,0,scalingFactor,0, - 0,0,0,1}; + btScalar tmpScaling[4][4]={{scalingFactor,0,0,0}, + {0,scalingFactor,0,0}, + {0,0,scalingFactor,0}, + {0,0,0,1}}; drawOpenGL( (btScalar*)tmpScaling,convexShape,color,debugMode); } diff --git a/Demos/RagdollDemo/RagdollDemo.cpp b/Demos/RagdollDemo/RagdollDemo.cpp index a5b59ad19..20108b0cc 100644 --- a/Demos/RagdollDemo/RagdollDemo.cpp +++ b/Demos/RagdollDemo/RagdollDemo.cpp @@ -28,10 +28,19 @@ Written by: Marten Svanfeldt GLDebugDrawer debugDrawer; -#define M_PI 3.14159265358979323846 -#define M_PI_2 1.57079632679489661923 -#define M_PI_4 0.785398163397448309616 +// Enrico: Shouldn't these three variables be real constants and not defines? +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +#ifndef M_PI_2 +#define M_PI_2 1.57079632679489661923 +#endif + +#ifndef M_PI_4 +#define M_PI_4 0.785398163397448309616 +#endif class RagDoll { diff --git a/Extras/GIMPACT/include/GIMPACT/Bullet/btGImpactShape.h b/Extras/GIMPACT/include/GIMPACT/Bullet/btGImpactShape.h index 0d7490461..6a73bcbdd 100755 --- a/Extras/GIMPACT/include/GIMPACT/Bullet/btGImpactShape.h +++ b/Extras/GIMPACT/include/GIMPACT/Bullet/btGImpactShape.h @@ -486,9 +486,9 @@ public: //! Calculates the exact inertia tensor for this shape - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; - virtual char* getName()const + virtual const char* getName()const { return "GImpactCompound"; } @@ -790,12 +790,12 @@ public: - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; - virtual char* getName()const + virtual const char* getName()const { return "GImpactMeshShapePart"; } @@ -922,7 +922,7 @@ public: - int getMeshPartCount() + int getMeshPartCount() const { return m_mesh_parts.size(); } @@ -981,7 +981,7 @@ public: m_needs_update = true; } - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; //! Obtains the primitive manager @@ -1091,7 +1091,7 @@ public: } - virtual char* getName()const + virtual const char* getName()const { return "GImpactMesh"; } diff --git a/Extras/GIMPACT/src/Bullet/btGImpactShape.cpp b/Extras/GIMPACT/src/Bullet/btGImpactShape.cpp index 7ebfd509d..88e1c8e4c 100755 --- a/Extras/GIMPACT/src/Bullet/btGImpactShape.cpp +++ b/Extras/GIMPACT/src/Bullet/btGImpactShape.cpp @@ -25,7 +25,7 @@ subject to the following restrictions: #define CALC_EXACT_INERTIA 1 -void btGImpactCompoundShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btGImpactCompoundShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { lockChildShapes(); #ifdef CALC_EXACT_INERTIA @@ -69,7 +69,7 @@ void btGImpactCompoundShape::calculateLocalInertia(btScalar mass,btVector3& iner -void btGImpactMeshShapePart::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btGImpactMeshShapePart::calculateLocalInertia(btScalar mass,btVector3& inertia) const { lockChildShapes(); @@ -107,7 +107,7 @@ void btGImpactMeshShapePart::calculateLocalInertia(btScalar mass,btVector3& iner unlockChildShapes(); } -void btGImpactMeshShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btGImpactMeshShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { #ifdef CALC_EXACT_INERTIA diff --git a/Extras/GPUphysics/Jamfile b/Extras/GPUphysics/Jamfile index 674cedbd6..69a90e51b 100644 --- a/Extras/GPUphysics/Jamfile +++ b/Extras/GPUphysics/Jamfile @@ -14,7 +14,7 @@ if $(GLUT.AVAILABLE) = "yes" "../../Demos/OpenGL" ; - ExternalLibs GPUphysics : GLUT GLEW ; + ExternalLibs GPUphysics : GLUT GLew ; } } diff --git a/Extras/quickstep/OdeMacros.h b/Extras/quickstep/OdeMacros.h index da2518e8b..51eabec72 100644 --- a/Extras/quickstep/OdeMacros.h +++ b/Extras/quickstep/OdeMacros.h @@ -165,32 +165,8 @@ inline void dSetValue1 (btScalar *a, int n, btScalar value) /// This macros are for MSVC and XCode compilers. Remotion. -#if _MSC_VER //Visual Studio Win32, Win64 - #include // SSE - #include // SSE2 - #include // SSE3 - - #define __USE_SSE__ - -/* - #ifdef _WIN64 - typedef unsigned __int64 size_t; - #else - typedef unsigned int size_t; - #endif -*/ -#elif __GNUC__ // XCode GCC - #if defined(__ppc__) || defined(__ppc64__) // Mac PPC - ///PPC or PPC64 Mac no SSE support - #elif defined(__i386__) // Intel Mac with SSE support - #include // SSE - #include // SSE2 - #include // SSE3 - #define __USE_SSE__ - #endif - #include -#endif +#include //for memset //Remotion: 10.10.2007 //------------------------------------------------------------------------------ diff --git a/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h b/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h index e5927656e..eb601ec7c 100644 --- a/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h +++ b/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h @@ -206,11 +206,11 @@ void btAxisSweep3Internal::setAabb(btBroadphaseProxy* proxy,cons template btAxisSweep3Internal::btAxisSweep3Internal(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, BP_FP_INT_TYPE handleMask, BP_FP_INT_TYPE handleSentinel,BP_FP_INT_TYPE maxHandles, btOverlappingPairCache* pairCache ) -:m_invalidPair(0), +:m_bpHandleMask(handleMask), +m_handleSentinel(handleSentinel), m_pairCache(pairCache), m_ownsPairCache(false), -m_bpHandleMask(handleMask), -m_handleSentinel(handleSentinel) +m_invalidPair(0) { if (!m_pairCache) { diff --git a/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp b/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp index 08b508bf1..8ac77b2f3 100644 --- a/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp +++ b/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp @@ -24,9 +24,9 @@ subject to the following restrictions: extern int gOverlappingPairs; btMultiSapBroadphase::btMultiSapBroadphase(int maxProxies,btOverlappingPairCache* pairCache) -:m_invalidPair(0), +:m_overlappingPairs(pairCache), m_ownsPairCache(false), -m_overlappingPairs(pairCache) +m_invalidPair(0) { if (!m_overlappingPairs) { @@ -112,10 +112,10 @@ void btMultiSapBroadphase::calculateOverlappingPairs(btDispatcher* dispatcher) { m_simpleBroadphase->calculateOverlappingPairs(dispatcher); - btBroadphasePairArray& overlappingPairArray = m_overlappingPairs->getOverlappingPairArray(); - #ifndef USE_HASH_PAIRCACHE + btBroadphasePairArray& overlappingPairArray = m_overlappingPairs->getOverlappingPairArray(); + //perform a sort, to find duplicates and to sort 'invalid' pairs to the end overlappingPairArray.heapSort(btBroadphasePairSortPredicate()); diff --git a/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp b/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp index 8bb9c3a83..33c40829f 100644 --- a/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp +++ b/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp @@ -28,8 +28,8 @@ int gAddedPairs =0; int gFindPairs =0; btOverlappingPairCache::btOverlappingPairCache(): - m_blockedForChanges(false), - m_overlapFilterCallback(0) + m_overlapFilterCallback(0), + m_blockedForChanges(false) { int initialAllocatedSize= 2; m_overlappingPairArray.reserve(initialAllocatedSize); @@ -164,7 +164,6 @@ void btOverlappingPairCache::growTables() { //grow hashtable and next table int curHashtableSize = m_hashTable.size(); - int curNextTableSize = m_next.size(); m_hashTable.resize(newCapacity); m_next.resize(newCapacity); diff --git a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp index c026b368a..ff753ae5f 100644 --- a/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp +++ b/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp @@ -37,9 +37,9 @@ void btSimpleBroadphase::validate() } btSimpleBroadphase::btSimpleBroadphase(int maxProxies, btOverlappingPairCache* overlappingPairCache) - :m_invalidPair(0), - m_pairCache(overlappingPairCache), - m_ownsPairCache(false) + :m_pairCache(overlappingPairCache), + m_ownsPairCache(false), + m_invalidPair(0) { if (!overlappingPairCache) @@ -129,8 +129,6 @@ protected: void btSimpleBroadphase::destroyProxy(btBroadphaseProxy* proxyOrg,btDispatcher* dispatcher) { - int i; - btSimpleBroadphaseProxy* proxy0 = static_cast(proxyOrg); freeHandle(proxy0); diff --git a/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h b/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h index 807512100..5e8e10aa3 100644 --- a/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +++ b/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h @@ -42,4 +42,5 @@ public: }; -#endif //BT_COLLISION_CONFIGURATION \ No newline at end of file +#endif //BT_COLLISION_CONFIGURATION + diff --git a/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp b/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp index 467a35364..6b72a131c 100644 --- a/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp +++ b/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp @@ -13,12 +13,15 @@ subject to the following restrictions: 3. This notice may not be removed or altered from any source distribution. */ + #include "btCollisionObject.h" btCollisionObject::btCollisionObject() : m_broadphaseHandle(0), m_collisionShape(0), m_collisionFlags(0), + m_islandTag1(-1), + m_companionId(-1), m_activationState1(1), m_deactivationTime(btScalar(0.)), m_userObjectPointer(0), @@ -26,9 +29,7 @@ btCollisionObject::btCollisionObject() m_hitFraction(btScalar(1.)), m_ccdSweptSphereRadius(btScalar(0.)), m_ccdSquareMotionThreshold(btScalar(0.)), - m_checkCollideWith(false), - m_islandTag1(-1), - m_companionId(-1) + m_checkCollideWith(false) { } diff --git a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h index cf1e69fd9..2e4089f33 100644 --- a/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +++ b/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h @@ -78,4 +78,5 @@ public: } }; -#endif //BT_DEFAULT_COLLISION_CONFIGURATION \ No newline at end of file +#endif //BT_DEFAULT_COLLISION_CONFIGURATION + diff --git a/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp b/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp index 3deb7f8f6..f43b09068 100644 --- a/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp +++ b/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp @@ -216,6 +216,10 @@ btScalar btSphereBoxCollisionAlgorithm::getSpherePenetration( btCollisionObject* btVector3 p0, tmp, prel, n[6], normal; btScalar fSep = btScalar(-10000000.0), fSepThis; + // set p0 and normal to a default value to shup up GCC + p0.setValue(btScalar(0.), btScalar(0.), btScalar(0.)); + normal.setValue(btScalar(0.), btScalar(0.), btScalar(0.)); + n[0].setValue( btScalar(-1.0), btScalar(0.0), btScalar(0.0) ); n[1].setValue( btScalar(0.0), btScalar(-1.0), btScalar(0.0) ); n[2].setValue( btScalar(0.0), btScalar(0.0), btScalar(-1.0) ); diff --git a/src/BulletCollision/CollisionShapes/btBoxShape.cpp b/src/BulletCollision/CollisionShapes/btBoxShape.cpp index 8a8382f8f..adac455bb 100644 --- a/src/BulletCollision/CollisionShapes/btBoxShape.cpp +++ b/src/BulletCollision/CollisionShapes/btBoxShape.cpp @@ -37,7 +37,7 @@ void btBoxShape::getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabb } -void btBoxShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btBoxShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { //btScalar margin = btScalar(0.); btVector3 halfExtents = getHalfExtentsWithMargin(); diff --git a/src/BulletCollision/CollisionShapes/btBoxShape.h b/src/BulletCollision/CollisionShapes/btBoxShape.h index b647641da..dd6d9098b 100644 --- a/src/BulletCollision/CollisionShapes/btBoxShape.h +++ b/src/BulletCollision/CollisionShapes/btBoxShape.h @@ -115,7 +115,7 @@ public: - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual void getPlane(btVector3& planeNormal,btPoint3& planeSupport,int i ) const { @@ -279,7 +279,7 @@ public: //debugging - virtual char* getName()const + virtual const char* getName()const { return "Box"; } diff --git a/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp b/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp index cf3a7724a..54af5c02a 100644 --- a/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp +++ b/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp @@ -22,8 +22,9 @@ subject to the following restrictions: ///Bvh Concave triangle mesh is a static-triangle mesh shape with Bounding Volume Hierarchy optimization. ///Uses an interface to access the triangles to allow for sharing graphics/physics triangles. btBvhTriangleMeshShape::btBvhTriangleMeshShape(btStridingMeshInterface* meshInterface, bool useQuantizedAabbCompression, bool buildBvh) -:btTriangleMeshShape(meshInterface),m_useQuantizedAabbCompression(useQuantizedAabbCompression), +:btTriangleMeshShape(meshInterface), m_bvh(0), +m_useQuantizedAabbCompression(useQuantizedAabbCompression), m_ownsBvh(false) { //construct bvh from meshInterface @@ -44,8 +45,9 @@ m_ownsBvh(false) } btBvhTriangleMeshShape::btBvhTriangleMeshShape(btStridingMeshInterface* meshInterface, bool useQuantizedAabbCompression,const btVector3& bvhAabbMin,const btVector3& bvhAabbMax,bool buildBvh) -:btTriangleMeshShape(meshInterface),m_useQuantizedAabbCompression(useQuantizedAabbCompression), +:btTriangleMeshShape(meshInterface), m_bvh(0), +m_useQuantizedAabbCompression(useQuantizedAabbCompression), m_ownsBvh(false) { //construct bvh from meshInterface diff --git a/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h b/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h index ddb79f89a..95c73b244 100644 --- a/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +++ b/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h @@ -60,7 +60,7 @@ public: void partialRefitTree(const btVector3& aabbMin,const btVector3& aabbMax); //debugging - virtual char* getName()const {return "BVHTRIANGLEMESH";} + virtual const char* getName()const {return "BVHTRIANGLEMESH";} virtual void setLocalScaling(const btVector3& scaling); diff --git a/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp b/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp index cdf168b8b..56fced755 100644 --- a/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp +++ b/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp @@ -112,7 +112,7 @@ btCapsuleShape::btCapsuleShape(btScalar radius, btScalar height) } -void btCapsuleShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btCapsuleShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { //as an approximation, take the inertia of the box that bounds the spheres diff --git a/src/BulletCollision/CollisionShapes/btCapsuleShape.h b/src/BulletCollision/CollisionShapes/btCapsuleShape.h index e23cdbdf5..0b566450f 100644 --- a/src/BulletCollision/CollisionShapes/btCapsuleShape.h +++ b/src/BulletCollision/CollisionShapes/btCapsuleShape.h @@ -29,7 +29,7 @@ public: btCapsuleShape(btScalar radius,btScalar height); ///CollisionShape Interface - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; /// btConvexShape Interface virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3& vec)const; @@ -38,7 +38,7 @@ public: virtual int getShapeType() const { return CAPSULE_SHAPE_PROXYTYPE; } - virtual char* getName()const + virtual const char* getName()const { return "CapsuleShape"; } diff --git a/src/BulletCollision/CollisionShapes/btCollisionShape.h b/src/BulletCollision/CollisionShapes/btCollisionShape.h index abf861562..53fb12e33 100644 --- a/src/BulletCollision/CollisionShapes/btCollisionShape.h +++ b/src/BulletCollision/CollisionShapes/btCollisionShape.h @@ -76,11 +76,11 @@ public: virtual int getShapeType() const=0; virtual void setLocalScaling(const btVector3& scaling) =0; virtual const btVector3& getLocalScaling() const =0; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) = 0; + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const = 0; //debugging support - virtual char* getName()const =0 ; + virtual const char* getName()const =0 ; #endif //__SPU__ diff --git a/src/BulletCollision/CollisionShapes/btCompoundShape.cpp b/src/BulletCollision/CollisionShapes/btCompoundShape.cpp index 2a2c7cc63..114a1f4c1 100644 --- a/src/BulletCollision/CollisionShapes/btCompoundShape.cpp +++ b/src/BulletCollision/CollisionShapes/btCompoundShape.cpp @@ -83,7 +83,7 @@ void btCompoundShape::getAabb(const btTransform& trans,btVector3& aabbMin,btVect aabbMax = center + extent; } -void btCompoundShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btCompoundShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { //approximation: take the inertia from the aabb for now btTransform ident; diff --git a/src/BulletCollision/CollisionShapes/btCompoundShape.h b/src/BulletCollision/CollisionShapes/btCompoundShape.h index 19db8149d..d23bd65b5 100644 --- a/src/BulletCollision/CollisionShapes/btCompoundShape.h +++ b/src/BulletCollision/CollisionShapes/btCompoundShape.h @@ -99,7 +99,7 @@ public: return m_localScaling; } - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual int getShapeType() const { return COMPOUND_SHAPE_PROXYTYPE;} @@ -111,7 +111,7 @@ public: { return m_collisionMargin; } - virtual char* getName()const + virtual const char* getName()const { return "Compound"; } diff --git a/src/BulletCollision/CollisionShapes/btConeShape.h b/src/BulletCollision/CollisionShapes/btConeShape.h index ce98dd368..34f36b35f 100644 --- a/src/BulletCollision/CollisionShapes/btConeShape.h +++ b/src/BulletCollision/CollisionShapes/btConeShape.h @@ -42,7 +42,7 @@ public: btScalar getHeight() const { return m_height;} - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const { btTransform identity; identity.setIdentity(); @@ -72,7 +72,7 @@ public: virtual int getShapeType() const { return CONE_SHAPE_PROXYTYPE; } - virtual char* getName()const + virtual const char* getName()const { return "Cone"; } diff --git a/src/BulletCollision/CollisionShapes/btConvexHullShape.h b/src/BulletCollision/CollisionShapes/btConvexHullShape.h index 963d51ad5..0928d68b8 100644 --- a/src/BulletCollision/CollisionShapes/btConvexHullShape.h +++ b/src/BulletCollision/CollisionShapes/btConvexHullShape.h @@ -57,7 +57,7 @@ public: virtual int getShapeType()const { return CONVEX_HULL_SHAPE_PROXYTYPE; } //debugging - virtual char* getName()const {return "Convex";} + virtual const char* getName()const {return "Convex";} virtual int getNumVertices() const; diff --git a/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp b/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp index c3613cf28..f828d28e1 100644 --- a/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp +++ b/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp @@ -13,6 +13,7 @@ subject to the following restrictions: 3. This notice may not be removed or altered from any source distribution. */ + #include "btConvexInternalShape.h" diff --git a/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h b/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h index 423a36d88..7becb237c 100644 --- a/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +++ b/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h @@ -28,7 +28,7 @@ public: virtual int getShapeType()const { return CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE; } //debugging - virtual char* getName()const {return "ConvexTrimesh";} + virtual const char* getName()const {return "ConvexTrimesh";} virtual int getNumVertices() const; virtual int getNumEdges() const; diff --git a/src/BulletCollision/CollisionShapes/btCylinderShape.h b/src/BulletCollision/CollisionShapes/btCylinderShape.h index 7d2c1c038..dc1ff3b57 100644 --- a/src/BulletCollision/CollisionShapes/btCylinderShape.h +++ b/src/BulletCollision/CollisionShapes/btCylinderShape.h @@ -60,7 +60,7 @@ public: //use box inertia - // virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + // virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual int getShapeType() const { @@ -78,7 +78,7 @@ public: } //debugging - virtual char* getName()const + virtual const char* getName()const { return "CylinderY"; } @@ -96,7 +96,7 @@ public: virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; //debugging - virtual char* getName()const + virtual const char* getName()const { return "CylinderX"; } @@ -121,7 +121,7 @@ public: return 2; } //debugging - virtual char* getName()const + virtual const char* getName()const { return "CylinderZ"; } diff --git a/src/BulletCollision/CollisionShapes/btEmptyShape.cpp b/src/BulletCollision/CollisionShapes/btEmptyShape.cpp index dcc486f19..6954aad79 100644 --- a/src/BulletCollision/CollisionShapes/btEmptyShape.cpp +++ b/src/BulletCollision/CollisionShapes/btEmptyShape.cpp @@ -40,7 +40,7 @@ void btEmptyShape::getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aa } -void btEmptyShape::calculateLocalInertia(btScalar ,btVector3& ) +void btEmptyShape::calculateLocalInertia(btScalar ,btVector3& ) const { btAssert(0); } diff --git a/src/BulletCollision/CollisionShapes/btEmptyShape.h b/src/BulletCollision/CollisionShapes/btEmptyShape.h index cda9b8da3..f8552e37b 100644 --- a/src/BulletCollision/CollisionShapes/btEmptyShape.h +++ b/src/BulletCollision/CollisionShapes/btEmptyShape.h @@ -49,12 +49,12 @@ public: return m_localScaling; } - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual int getShapeType() const { return EMPTY_SHAPE_PROXYTYPE;} - virtual char* getName()const + virtual const char* getName()const { return "Empty"; } diff --git a/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp b/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp index 6edb13aea..418895af5 100644 --- a/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp +++ b/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp @@ -19,15 +19,15 @@ subject to the following restrictions: btHeightfieldTerrainShape::btHeightfieldTerrainShape(int width,int length,void* heightfieldData,btScalar maxHeight,int upAxis,bool useFloatData,bool flipQuadEdges) -:m_localScaling(btScalar(1.),btScalar(1.),btScalar(1.)), -m_width(width), +:m_width(width), m_length(length), -m_heightfieldDataUnknown(heightfieldData), m_maxHeight(maxHeight), -m_upAxis(upAxis), +m_heightfieldDataUnknown(heightfieldData), m_useFloatData(useFloatData), m_flipQuadEdges(flipQuadEdges), -m_useDiamondSubdivision(false) +m_useDiamondSubdivision(false), +m_upAxis(upAxis), +m_localScaling(btScalar(1.),btScalar(1.),btScalar(1.)) { @@ -322,7 +322,7 @@ void btHeightfieldTerrainShape::processAllTriangles(btTriangleCallback* callback } -void btHeightfieldTerrainShape::calculateLocalInertia(btScalar ,btVector3& inertia) +void btHeightfieldTerrainShape::calculateLocalInertia(btScalar ,btVector3& inertia) const { //moving concave objects not supported diff --git a/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h b/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h index 49f3e1067..8dba7b3d5 100644 --- a/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +++ b/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h @@ -74,14 +74,14 @@ public: virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual void setLocalScaling(const btVector3& scaling); virtual const btVector3& getLocalScaling() const; //debugging - virtual char* getName()const {return "HEIGHTFIELD";} + virtual const char* getName()const {return "HEIGHTFIELD";} }; diff --git a/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp b/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp index 015314bc0..7f7f28221 100644 --- a/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp +++ b/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp @@ -49,7 +49,7 @@ btScalar btMinkowskiSumShape::getMargin() const } -void btMinkowskiSumShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btMinkowskiSumShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { (void)mass; btAssert(0); diff --git a/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h b/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h index 9a36a7493..484e317e6 100644 --- a/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +++ b/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h @@ -37,7 +37,7 @@ public: virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; void setTransformA(const btTransform& transA) { m_transA = transA;} void setTransformB(const btTransform& transB) { m_transB = transB;} @@ -53,7 +53,7 @@ public: const btConvexShape* getShapeA() const { return m_shapeA;} const btConvexShape* getShapeB() const { return m_shapeB;} - virtual char* getName()const + virtual const char* getName()const { return "MinkowskiSum"; } diff --git a/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp b/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp index 6015a6180..a8ce8622f 100644 --- a/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp +++ b/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp @@ -116,7 +116,7 @@ btMultiSphereShape::btMultiSphereShape (const btVector3& inertiaHalfExtents,cons -void btMultiSphereShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btMultiSphereShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { //as an approximation, take the inertia of the box that bounds the spheres diff --git a/src/BulletCollision/CollisionShapes/btMultiSphereShape.h b/src/BulletCollision/CollisionShapes/btMultiSphereShape.h index b22630e68..7db54e7a2 100644 --- a/src/BulletCollision/CollisionShapes/btMultiSphereShape.h +++ b/src/BulletCollision/CollisionShapes/btMultiSphereShape.h @@ -39,7 +39,7 @@ public: btMultiSphereShape (const btVector3& inertiaHalfExtents,const btVector3* positions,const btScalar* radi,int numSpheres); ///CollisionShape Interface - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; /// btConvexShape Interface virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3& vec)const; @@ -63,7 +63,7 @@ public: virtual int getShapeType() const { return MULTI_SPHERE_SHAPE_PROXYTYPE; } - virtual char* getName()const + virtual const char* getName()const { return "MultiSphere"; } diff --git a/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp b/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp index 7dfd7694a..3c25f8811 100644 --- a/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp +++ b/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp @@ -12,7 +12,6 @@ subject to the following restrictions: 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ - #include "btOptimizedBvh.h" #include "btStridingMeshInterface.h" #include "LinearMath/btAabbUtil2.h" @@ -1178,5 +1177,6 @@ m_bvhAabbMin(self.m_bvhAabbMin), m_bvhAabbMax(self.m_bvhAabbMax), m_bvhQuantization(self.m_bvhQuantization) { + } diff --git a/src/BulletCollision/CollisionShapes/btOptimizedBvh.h b/src/BulletCollision/CollisionShapes/btOptimizedBvh.h index 45a768c4c..bcacdbe58 100644 --- a/src/BulletCollision/CollisionShapes/btOptimizedBvh.h +++ b/src/BulletCollision/CollisionShapes/btOptimizedBvh.h @@ -17,6 +17,7 @@ subject to the following restrictions: #define OPTIMIZED_BVH_H + #include "LinearMath/btVector3.h" #include "LinearMath/btAlignedAllocator.h" @@ -99,6 +100,11 @@ public: int m_subtreeSize; int m_padding[3]; + btBvhSubtreeInfo() + { + //memset(&m_padding[0], 0, sizeof(m_padding)); + } + void setAabbFromQuantizeNode(const btQuantizedBvhNode& quantizedNode) { diff --git a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp index bbc4ba62a..30323deb3 100644 --- a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp +++ b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp @@ -95,7 +95,7 @@ void btPolyhedralConvexShape::batchedUnitVectorGetSupportingVertexWithoutMargin( -void btPolyhedralConvexShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btPolyhedralConvexShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { //not yet, return box inertia diff --git a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h index 2c0462d0c..9d46b991e 100644 --- a/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +++ b/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h @@ -38,7 +38,7 @@ public: virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3& vec)const; virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; inline void getNonvirtualAabb(const btTransform& trans,btVector3& aabbMin,btVector3& aabbMax, btScalar margin) const diff --git a/src/BulletCollision/CollisionShapes/btSphereShape.cpp b/src/BulletCollision/CollisionShapes/btSphereShape.cpp index ca65dd03f..15cfe432e 100644 --- a/src/BulletCollision/CollisionShapes/btSphereShape.cpp +++ b/src/BulletCollision/CollisionShapes/btSphereShape.cpp @@ -68,7 +68,7 @@ void btSphereShape::getAabb(const btTransform& t,btVector3& aabbMin,btVector3& a -void btSphereShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btSphereShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { btScalar elem = btScalar(0.4) * mass * getMargin()*getMargin(); inertia.setValue(elem,elem,elem); diff --git a/src/BulletCollision/CollisionShapes/btSphereShape.h b/src/BulletCollision/CollisionShapes/btSphereShape.h index 45ccb3308..d89a78b08 100644 --- a/src/BulletCollision/CollisionShapes/btSphereShape.h +++ b/src/BulletCollision/CollisionShapes/btSphereShape.h @@ -36,7 +36,7 @@ public: virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const; @@ -45,7 +45,7 @@ public: btScalar getRadius() const { return m_implicitShapeDimensions.getX() * m_localScaling.getX();} //debugging - virtual char* getName()const {return "SPHERE";} + virtual const char* getName()const {return "SPHERE";} virtual void setMargin(btScalar margin) { diff --git a/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp b/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp index 4fbaafa1b..7dd6425e0 100644 --- a/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp +++ b/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp @@ -86,7 +86,7 @@ void btStaticPlaneShape::processAllTriangles(btTriangleCallback* callback,const } -void btStaticPlaneShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btStaticPlaneShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { (void)mass; diff --git a/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h b/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h index f59cc0c33..0cbce3abd 100644 --- a/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h +++ b/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h @@ -46,14 +46,14 @@ public: virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual void setLocalScaling(const btVector3& scaling); virtual const btVector3& getLocalScaling() const; //debugging - virtual char* getName()const {return "STATICPLANE";} + virtual const char* getName()const {return "STATICPLANE";} }; diff --git a/src/BulletCollision/CollisionShapes/btTetrahedronShape.h b/src/BulletCollision/CollisionShapes/btTetrahedronShape.h index 2605fcf16..ca1b4b42a 100644 --- a/src/BulletCollision/CollisionShapes/btTetrahedronShape.h +++ b/src/BulletCollision/CollisionShapes/btTetrahedronShape.h @@ -68,7 +68,7 @@ public: ///getName is for debugging - virtual char* getName()const { return "btBU_Simplex1to4";} + virtual const char* getName()const { return "btBU_Simplex1to4";} }; diff --git a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp index ed81897b5..89f9f15b4 100644 --- a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp +++ b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp @@ -175,7 +175,7 @@ void btTriangleMeshShape::processAllTriangles(btTriangleCallback* callback,const -void btTriangleMeshShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btTriangleMeshShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { (void)mass; //moving concave objects not supported diff --git a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h index e6173e476..b178a0f98 100644 --- a/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h +++ b/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h @@ -53,7 +53,7 @@ public: virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; virtual void setLocalScaling(const btVector3& scaling); virtual const btVector3& getLocalScaling() const; @@ -70,7 +70,7 @@ public: //debugging - virtual char* getName()const {return "TRIANGLEMESH";} + virtual const char* getName()const {return "TRIANGLEMESH";} }; diff --git a/src/BulletCollision/CollisionShapes/btTriangleShape.h b/src/BulletCollision/CollisionShapes/btTriangleShape.h index c2e240c05..064c64fa6 100644 --- a/src/BulletCollision/CollisionShapes/btTriangleShape.h +++ b/src/BulletCollision/CollisionShapes/btTriangleShape.h @@ -116,7 +116,7 @@ public: planeSupport = m_vertices1[0]; } - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const { (void)mass; btAssert(0); @@ -155,7 +155,7 @@ public: return false; } //debugging - virtual char* getName()const + virtual const char* getName()const { return "Triangle"; } diff --git a/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp b/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp index 630052849..ef340286c 100644 --- a/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp +++ b/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp @@ -52,7 +52,7 @@ btVector3 btUniformScalingShape::localGetSupportingVertex(const btVector3& vec)c } -void btUniformScalingShape::calculateLocalInertia(btScalar mass,btVector3& inertia) +void btUniformScalingShape::calculateLocalInertia(btScalar mass,btVector3& inertia) const { ///this linear upscaling is not realistic, but we don't deal with large mass ratios... diff --git a/src/BulletCollision/CollisionShapes/btUniformScalingShape.h b/src/BulletCollision/CollisionShapes/btUniformScalingShape.h index b066321f0..3a0ecf021 100644 --- a/src/BulletCollision/CollisionShapes/btUniformScalingShape.h +++ b/src/BulletCollision/CollisionShapes/btUniformScalingShape.h @@ -37,7 +37,7 @@ class btUniformScalingShape : public btConvexShape virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3* vectors,btVector3* supportVerticesOut,int numVectors) const; - virtual void calculateLocalInertia(btScalar mass,btVector3& inertia); + virtual void calculateLocalInertia(btScalar mass,btVector3& inertia) const; btScalar getUniformScalingFactor() const { @@ -54,7 +54,7 @@ class btUniformScalingShape : public btConvexShape return m_childConvexShape; } - virtual char* getName()const + virtual const char* getName()const { return "UniformScalingShape"; } diff --git a/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp b/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp index ced137315..100bc2407 100644 --- a/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp +++ b/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp @@ -112,8 +112,7 @@ bool btMinkowskiPenetrationDepthSolver::calcPenDepth(btSimplexSolverInterface& s //just take fixed number of orientation, and sample the penetration depth in that direction btScalar minProj = btScalar(1e30); - btVector3 minNorm; - btVector3 minVertex; + btVector3 minNorm(btScalar(0.), btScalar(0.), btScalar(0.)); btVector3 minA,minB; btVector3 seperatingAxisInA,seperatingAxisInB; btVector3 pInA,qInB,pWorld,qWorld,w; diff --git a/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp b/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp index c95d5d903..258ec8496 100644 --- a/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp +++ b/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp @@ -206,7 +206,6 @@ void btConeTwistConstraint::solveConstraint(btScalar timeStep) btVector3 pivotBInW = m_rbB.getCenterOfMassTransform()*m_rbBFrame.getOrigin(); btScalar tau = btScalar(0.3); - btScalar damping = btScalar(1.); //linear part if (!m_angularOnly) diff --git a/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp b/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp index 0120f79ab..69ec0adc1 100644 --- a/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp +++ b/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp @@ -263,9 +263,8 @@ void btHingeConstraint::solveConstraint(btScalar timeStep) btVector3 pivotBInW = m_rbB.getCenterOfMassTransform()*m_rbBFrame.getOrigin(); btScalar tau = btScalar(0.3); - btScalar damping = btScalar(1.); -//linear part + //linear part if (!m_angularOnly) { btVector3 rel_pos1 = pivotAInW - m_rbA.getCenterOfMassPosition(); diff --git a/src/BulletDynamics/ConstraintSolver/btSolverBody.h b/src/BulletDynamics/ConstraintSolver/btSolverBody.h index c540c63f2..051960933 100644 --- a/src/BulletDynamics/ConstraintSolver/btSolverBody.h +++ b/src/BulletDynamics/ConstraintSolver/btSolverBody.h @@ -72,4 +72,5 @@ ATTRIBUTE_ALIGNED16 (struct) btSolverBody }; -#endif //BT_SOLVER_BODY_H \ No newline at end of file +#endif //BT_SOLVER_BODY_H + diff --git a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp index 15a18851d..6e8b552db 100644 --- a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp +++ b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp @@ -20,9 +20,9 @@ subject to the following restrictions: static btRigidBody s_fixed(0, 0,0); btTypedConstraint::btTypedConstraint(btTypedConstraintType type) -: m_constraintType (type), -m_userConstraintType(-1), +:m_userConstraintType(-1), m_userConstraintId(-1), +m_constraintType (type), m_rbA(s_fixed), m_rbB(s_fixed), m_appliedImpulse(btScalar(0.)) @@ -30,9 +30,9 @@ m_appliedImpulse(btScalar(0.)) s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.))); } btTypedConstraint::btTypedConstraint(btTypedConstraintType type, btRigidBody& rbA) -: m_constraintType (type), -m_userConstraintType(-1), +:m_userConstraintType(-1), m_userConstraintId(-1), +m_constraintType (type), m_rbA(rbA), m_rbB(s_fixed), m_appliedImpulse(btScalar(0.)) @@ -43,9 +43,9 @@ m_appliedImpulse(btScalar(0.)) btTypedConstraint::btTypedConstraint(btTypedConstraintType type, btRigidBody& rbA,btRigidBody& rbB) -: m_constraintType (type), -m_userConstraintType(-1), +:m_userConstraintType(-1), m_userConstraintId(-1), +m_constraintType (type), m_rbA(rbA), m_rbB(rbB), m_appliedImpulse(btScalar(0.)) diff --git a/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp b/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp index 8f72d5c21..489448ff0 100644 --- a/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp +++ b/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp @@ -50,7 +50,7 @@ void btContinuousDynamicsWorld::internalSingleStepSimulation( btScalar timeStep) ///update aabbs information updateAabbs(); - static int frame=0; + //static int frame=0; // printf("frame %d\n",frame++); ///apply gravity, predict motion @@ -144,7 +144,6 @@ void btContinuousDynamicsWorld::updateTemporalAabbs(btScalar timeStep) { body->getCollisionShape()->getAabb(m_collisionObjects[i]->getWorldTransform(),temporalAabbMin,temporalAabbMax); const btVector3& linvel = body->getLinearVelocity(); - const btVector3& angvel = body->getAngularVelocity(); //make the AABB temporal float temporalAabbMaxx = temporalAabbMax.getX(); diff --git a/src/LinearMath/btQuadWord.h b/src/LinearMath/btQuadWord.h index 2411591f1..f0eda5f6e 100644 --- a/src/LinearMath/btQuadWord.h +++ b/src/LinearMath/btQuadWord.h @@ -19,7 +19,10 @@ subject to the following restrictions: #include "btScalar.h" #include "btSimdMinMax.h" -ATTRIBUTE_ALIGNED16(class) btQuadWordStorage +//ATTRIBUTE_ALIGNED16(class) btQuadWordStorage +//some issues under PS3 Linux with IBM 2.1 SDK, gcc compiler prevent from using aligned quadword. todo: look into this + +class btQuadWordStorage { protected: btScalar m_x; diff --git a/src/LinearMath/btScalar.h b/src/LinearMath/btScalar.h index d7accbde1..0158b13b2 100644 --- a/src/LinearMath/btScalar.h +++ b/src/LinearMath/btScalar.h @@ -29,6 +29,7 @@ subject to the following restrictions: #ifdef WIN32 #if defined(__MINGW32__) || defined(__CYGWIN__) || (defined (_MSC_VER) && _MSC_VER < 1300) + #define SIMD_FORCE_INLINE inline #define ATTRIBUTE_ALIGNED16(a) a #define ATTRIBUTE_ALIGNED128(a) a