diff --git a/Demos/OpenGL/GL_ShapeDrawer.cpp b/Demos/OpenGL/GL_ShapeDrawer.cpp index 6977d2bdf..5729bfb8e 100644 --- a/Demos/OpenGL/GL_ShapeDrawer.cpp +++ b/Demos/OpenGL/GL_ShapeDrawer.cpp @@ -683,6 +683,7 @@ void GL_ShapeDrawer::drawOpenGL(btScalar* m, const btCollisionShape* shape, cons } +/* case CYLINDER_SHAPE_PROXYTYPE: { const btCylinderShape* cylinder = static_cast(shape); @@ -696,6 +697,7 @@ void GL_ShapeDrawer::drawOpenGL(btScalar* m, const btCollisionShape* shape, cons break; } +*/ case MULTI_SPHERE_SHAPE_PROXYTYPE: { diff --git a/Demos/SoftDemo/SoftDemo.cpp b/Demos/SoftDemo/SoftDemo.cpp index 16b4a444c..26107463d 100644 --- a/Demos/SoftDemo/SoftDemo.cpp +++ b/Demos/SoftDemo/SoftDemo.cpp @@ -1272,7 +1272,11 @@ void SoftDemo::clientResetScene() getSoftDynamicsWorld()->removeSoftBody(softBody); } else { - m_dynamicsWorld->removeCollisionObject(obj); + btRigidBody* body = btRigidBody::upcast(obj); + if (body) + m_dynamicsWorld->removeRigidBody(body); + else + m_dynamicsWorld->removeCollisionObject(obj); } delete obj; } @@ -1349,8 +1353,6 @@ void SoftDemo::renderme() ps/=nps; if(m_autocam) m_cameraTargetPosition+=(ps-m_cameraTargetPosition)*0.05; - else - m_cameraTargetPosition=btVector3(0,0,0); /* Anm */ if(!isIdle()) m_animtime=m_clock.getTimeMilliseconds()/1000.f; diff --git a/src/BulletCollision/CollisionDispatch/btCollisionWorld.h b/src/BulletCollision/CollisionDispatch/btCollisionWorld.h index 87f7137a5..9a38363b8 100644 --- a/src/BulletCollision/CollisionDispatch/btCollisionWorld.h +++ b/src/BulletCollision/CollisionDispatch/btCollisionWorld.h @@ -377,7 +377,7 @@ public: const btTransform& colObjWorldTransform, ConvexResultCallback& resultCallback, btScalar allowedPenetration); - void addCollisionObject(btCollisionObject* collisionObject,short int collisionFilterGroup=btBroadphaseProxy::DefaultFilter,short int collisionFilterMask=btBroadphaseProxy::AllFilter); + virtual void addCollisionObject(btCollisionObject* collisionObject,short int collisionFilterGroup=btBroadphaseProxy::DefaultFilter,short int collisionFilterMask=btBroadphaseProxy::AllFilter); btCollisionObjectArray& getCollisionObjectArray() { @@ -390,7 +390,7 @@ public: } - void removeCollisionObject(btCollisionObject* collisionObject); + virtual void removeCollisionObject(btCollisionObject* collisionObject); virtual void performDiscreteCollisionDetection();