diff --git a/data/multibody.bullet b/data/multibody.bullet index a7d7b447d..abbacacce 100644 Binary files a/data/multibody.bullet and b/data/multibody.bullet differ diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 48d7b57d6..4d26967f1 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,5 +1,5 @@ SUBDIRS( HelloWorld BasicDemo ) IF(BUILD_BULLET3) - SUBDIRS( ExampleBrowser SimpleOpenGL3 ThirdPartyLibs/Gwen OpenGLWindow) + SUBDIRS( ExampleBrowser ThirdPartyLibs/Gwen OpenGLWindow) ENDIF() diff --git a/examples/MultiBody/MultiBodySoftContact.cpp b/examples/MultiBody/MultiBodySoftContact.cpp index 89b7530ce..cc5d1ff9a 100644 --- a/examples/MultiBody/MultiBodySoftContact.cpp +++ b/examples/MultiBody/MultiBodySoftContact.cpp @@ -36,6 +36,9 @@ public: }; +extern ContactAddedCallback gContactAddedCallback; + + MultiBodySoftContact::MultiBodySoftContact(struct GUIHelperInterface* helper) :CommonMultiBodyBase(helper), m_once(true) @@ -44,11 +47,10 @@ m_once(true) MultiBodySoftContact::~MultiBodySoftContact() { - + gContactAddedCallback = 0; } -extern ContactAddedCallback gContactAddedCallback; static bool btMultiBodySoftContactCallback(btManifoldPoint& cp, const btCollisionObjectWrapper* colObj0Wrap,int partId0,int index0,const btCollisionObjectWrapper* colObj1Wrap,int partId1,int index1) { cp.m_contactCFM = 0.3; diff --git a/examples/RigidBody/RigidBodySoftContact.cpp b/examples/RigidBody/RigidBodySoftContact.cpp index 6350fe4d7..1ea1bb002 100644 --- a/examples/RigidBody/RigidBodySoftContact.cpp +++ b/examples/RigidBody/RigidBodySoftContact.cpp @@ -29,6 +29,8 @@ subject to the following restrictions: #include "BulletDynamics/MLCPSolvers/btMLCPSolver.h" #include "BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h" +extern ContactAddedCallback gContactAddedCallback; + struct RigidBodySoftContact : public CommonRigidBodyBase { @@ -36,7 +38,10 @@ struct RigidBodySoftContact : public CommonRigidBodyBase :CommonRigidBodyBase(helper) { } - virtual ~RigidBodySoftContact(){} + virtual ~RigidBodySoftContact() + { + gContactAddedCallback = 0; + } virtual void initPhysics(); virtual void renderScene(); void resetCamera() @@ -49,7 +54,7 @@ struct RigidBodySoftContact : public CommonRigidBodyBase } }; -extern ContactAddedCallback gContactAddedCallback; + static bool btRigidBodySoftContactCallback(btManifoldPoint& cp, const btCollisionObjectWrapper* colObj0Wrap,int partId0,int index0,const btCollisionObjectWrapper* colObj1Wrap,int partId1,int index1) { cp.m_contactCFM = 0.3; diff --git a/examples/SharedMemory/SharedMemoryCommands.h b/examples/SharedMemory/SharedMemoryCommands.h index e0b2bf9d4..198afc092 100644 --- a/examples/SharedMemory/SharedMemoryCommands.h +++ b/examples/SharedMemory/SharedMemoryCommands.h @@ -150,7 +150,7 @@ struct SendDesiredStateArgs //or the maximum applied force/torque for the PD/motor/constraint to reach the desired velocity in CONTROL_MODE_VELOCITY and CONTROL_MODE_POSITION_VELOCITY_PD mode //indexed by degree of freedom, 6 dof base, and then dofs for each link double m_desiredStateForceTorque[MAX_DEGREE_OF_FREEDOM]; - + };