diff --git a/Demos/ForkLiftDemo/ForkLiftDemo.cpp b/Demos/ForkLiftDemo/ForkLiftDemo.cpp index a339a38e9..1db87f358 100644 --- a/Demos/ForkLiftDemo/ForkLiftDemo.cpp +++ b/Demos/ForkLiftDemo/ForkLiftDemo.cpp @@ -114,6 +114,7 @@ m_indexVertexArrays(0), m_vertices(0) { m_vehicle = 0; + m_wheelShape = 0; m_cameraPosition = btVector3(30,30,30); m_useDefaultCamera = false; setTexturing(true); @@ -166,6 +167,8 @@ void ForkLiftDemo::termPhysics() delete m_vehicleRayCaster; delete m_vehicle; + + delete m_wheelShape; //delete solver delete m_constraintSolver; @@ -255,6 +258,7 @@ tr.setOrigin(btVector3(0,-10,0)); m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape); //m_carChassis->setDamping(0.2,0.2); + m_wheelShape = new btCylinderShapeX(btVector3(wheelWidth,wheelRadius,wheelRadius)); { btCollisionShape* liftShape = new btBoxShape(btVector3(0.5f,2.0f,0.05f)); @@ -419,7 +423,6 @@ void ForkLiftDemo::renderme() btScalar m[16]; int i; - btCylinderShapeX wheelShape(btVector3(wheelWidth,wheelRadius,wheelRadius)); btVector3 wheelColor(1,0,0); btVector3 worldBoundsMin,worldBoundsMax; @@ -433,7 +436,7 @@ void ForkLiftDemo::renderme() m_vehicle->updateWheelTransform(i,true); //draw wheels (cylinders) m_vehicle->getWheelInfo(i).m_worldTransform.getOpenGLMatrix(m); - m_shapeDrawer->drawOpenGL(m,&wheelShape,wheelColor,getDebugMode(),worldBoundsMin,worldBoundsMax); + m_shapeDrawer->drawOpenGL(m,m_wheelShape,wheelColor,getDebugMode(),worldBoundsMin,worldBoundsMax); } diff --git a/Demos/ForkLiftDemo/ForkLiftDemo.h b/Demos/ForkLiftDemo/ForkLiftDemo.h index 4a0a8989b..37e77b30f 100644 --- a/Demos/ForkLiftDemo/ForkLiftDemo.h +++ b/Demos/ForkLiftDemo/ForkLiftDemo.h @@ -69,6 +69,7 @@ class ForkLiftDemo : public GlutDemoApplication btRaycastVehicle::btVehicleTuning m_tuning; btVehicleRaycaster* m_vehicleRayCaster; btRaycastVehicle* m_vehicle; + btCollisionShape* m_wheelShape; float m_cameraHeight; diff --git a/Demos/VehicleDemo/VehicleDemo.cpp b/Demos/VehicleDemo/VehicleDemo.cpp index 277bcaf6e..695fe568b 100644 --- a/Demos/VehicleDemo/VehicleDemo.cpp +++ b/Demos/VehicleDemo/VehicleDemo.cpp @@ -94,6 +94,7 @@ m_indexVertexArrays(0), m_vertices(0) { m_vehicle = 0; + m_wheelShape = 0; m_cameraPosition = btVector3(30,30,30); } @@ -132,6 +133,8 @@ VehicleDemo::~VehicleDemo() delete m_vehicle; + delete m_wheelShape; + //delete solver delete m_constraintSolver; @@ -324,6 +327,7 @@ const float TRIANGLE_SIZE=20.f; m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape); //m_carChassis->setDamping(0.2,0.2); + m_wheelShape = new btCylinderShapeX(btVector3(wheelWidth,wheelRadius,wheelRadius)); clientResetScene(); @@ -400,7 +404,7 @@ void VehicleDemo::renderme() btScalar m[16]; int i; - btCylinderShapeX wheelShape(btVector3(wheelWidth,wheelRadius,wheelRadius)); + btVector3 wheelColor(1,0,0); btVector3 worldBoundsMin,worldBoundsMax; @@ -414,7 +418,7 @@ void VehicleDemo::renderme() m_vehicle->updateWheelTransform(i,true); //draw wheels (cylinders) m_vehicle->getWheelInfo(i).m_worldTransform.getOpenGLMatrix(m); - m_shapeDrawer->drawOpenGL(m,&wheelShape,wheelColor,getDebugMode(),worldBoundsMin,worldBoundsMax); + m_shapeDrawer->drawOpenGL(m,m_wheelShape,wheelColor,getDebugMode(),worldBoundsMin,worldBoundsMax); } diff --git a/Demos/VehicleDemo/VehicleDemo.h b/Demos/VehicleDemo/VehicleDemo.h index 6ddfe2bb2..1580312b1 100644 --- a/Demos/VehicleDemo/VehicleDemo.h +++ b/Demos/VehicleDemo/VehicleDemo.h @@ -48,6 +48,7 @@ class VehicleDemo : public GlutDemoApplication btRaycastVehicle::btVehicleTuning m_tuning; btVehicleRaycaster* m_vehicleRayCaster; btRaycastVehicle* m_vehicle; + btCollisionShape* m_wheelShape; float m_cameraHeight; diff --git a/src/BulletMultiThreaded/Jamfile b/src/BulletMultiThreaded/Jamfile index 4aaf302d2..ffe1fb1ab 100644 --- a/src/BulletMultiThreaded/Jamfile +++ b/src/BulletMultiThreaded/Jamfile @@ -2,7 +2,7 @@ SubDir TOP src BulletMultiThreaded ; #IncludeDir src/BulletMultiThreaded ; -Library bulletmultithreaded : [ Wildcard . : */.h *.cpp ] [ Wildcard SpuNarrowPhaseCollisionTask : *.h *.cpp ] [ Wildcard SpuSolverTask : *.h *.cpp ] : noinstall ; +Library bulletmultithreaded : [ Wildcard . : *.h *.cpp ] [ Wildcard SpuNarrowPhaseCollisionTask : *.h *.cpp ] [ Wildcard SpuSolverTask : *.h *.cpp ] : noinstall ; CFlags bulletmultithreaded : [ FIncludes $(TOP)/src/BulletMultiThreaded ] [ FIncludes $(TOP)/src/BulletMultiThreaded/vectormath/scalar/cpp ] ; LibDepends bulletmultithreaded : ;