fixed memory leaks in ForkLiftDemo/VehicleDemo
Thanks to mi076 for report+fix: http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2652 Minor syntax error fix in a Jamfile
This commit is contained in:
@@ -114,6 +114,7 @@ m_indexVertexArrays(0),
|
|||||||
m_vertices(0)
|
m_vertices(0)
|
||||||
{
|
{
|
||||||
m_vehicle = 0;
|
m_vehicle = 0;
|
||||||
|
m_wheelShape = 0;
|
||||||
m_cameraPosition = btVector3(30,30,30);
|
m_cameraPosition = btVector3(30,30,30);
|
||||||
m_useDefaultCamera = false;
|
m_useDefaultCamera = false;
|
||||||
setTexturing(true);
|
setTexturing(true);
|
||||||
@@ -166,6 +167,8 @@ void ForkLiftDemo::termPhysics()
|
|||||||
delete m_vehicleRayCaster;
|
delete m_vehicleRayCaster;
|
||||||
|
|
||||||
delete m_vehicle;
|
delete m_vehicle;
|
||||||
|
|
||||||
|
delete m_wheelShape;
|
||||||
|
|
||||||
//delete solver
|
//delete solver
|
||||||
delete m_constraintSolver;
|
delete m_constraintSolver;
|
||||||
@@ -255,6 +258,7 @@ tr.setOrigin(btVector3(0,-10,0));
|
|||||||
m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape);
|
m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape);
|
||||||
//m_carChassis->setDamping(0.2,0.2);
|
//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));
|
btCollisionShape* liftShape = new btBoxShape(btVector3(0.5f,2.0f,0.05f));
|
||||||
@@ -419,7 +423,6 @@ void ForkLiftDemo::renderme()
|
|||||||
btScalar m[16];
|
btScalar m[16];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
btCylinderShapeX wheelShape(btVector3(wheelWidth,wheelRadius,wheelRadius));
|
|
||||||
btVector3 wheelColor(1,0,0);
|
btVector3 wheelColor(1,0,0);
|
||||||
|
|
||||||
btVector3 worldBoundsMin,worldBoundsMax;
|
btVector3 worldBoundsMin,worldBoundsMax;
|
||||||
@@ -433,7 +436,7 @@ void ForkLiftDemo::renderme()
|
|||||||
m_vehicle->updateWheelTransform(i,true);
|
m_vehicle->updateWheelTransform(i,true);
|
||||||
//draw wheels (cylinders)
|
//draw wheels (cylinders)
|
||||||
m_vehicle->getWheelInfo(i).m_worldTransform.getOpenGLMatrix(m);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ class ForkLiftDemo : public GlutDemoApplication
|
|||||||
btRaycastVehicle::btVehicleTuning m_tuning;
|
btRaycastVehicle::btVehicleTuning m_tuning;
|
||||||
btVehicleRaycaster* m_vehicleRayCaster;
|
btVehicleRaycaster* m_vehicleRayCaster;
|
||||||
btRaycastVehicle* m_vehicle;
|
btRaycastVehicle* m_vehicle;
|
||||||
|
btCollisionShape* m_wheelShape;
|
||||||
|
|
||||||
float m_cameraHeight;
|
float m_cameraHeight;
|
||||||
|
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ m_indexVertexArrays(0),
|
|||||||
m_vertices(0)
|
m_vertices(0)
|
||||||
{
|
{
|
||||||
m_vehicle = 0;
|
m_vehicle = 0;
|
||||||
|
m_wheelShape = 0;
|
||||||
m_cameraPosition = btVector3(30,30,30);
|
m_cameraPosition = btVector3(30,30,30);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,6 +133,8 @@ VehicleDemo::~VehicleDemo()
|
|||||||
|
|
||||||
delete m_vehicle;
|
delete m_vehicle;
|
||||||
|
|
||||||
|
delete m_wheelShape;
|
||||||
|
|
||||||
//delete solver
|
//delete solver
|
||||||
delete m_constraintSolver;
|
delete m_constraintSolver;
|
||||||
|
|
||||||
@@ -324,6 +327,7 @@ const float TRIANGLE_SIZE=20.f;
|
|||||||
m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape);
|
m_carChassis = localCreateRigidBody(800,tr,compound);//chassisShape);
|
||||||
//m_carChassis->setDamping(0.2,0.2);
|
//m_carChassis->setDamping(0.2,0.2);
|
||||||
|
|
||||||
|
m_wheelShape = new btCylinderShapeX(btVector3(wheelWidth,wheelRadius,wheelRadius));
|
||||||
|
|
||||||
clientResetScene();
|
clientResetScene();
|
||||||
|
|
||||||
@@ -400,7 +404,7 @@ void VehicleDemo::renderme()
|
|||||||
btScalar m[16];
|
btScalar m[16];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
btCylinderShapeX wheelShape(btVector3(wheelWidth,wheelRadius,wheelRadius));
|
|
||||||
btVector3 wheelColor(1,0,0);
|
btVector3 wheelColor(1,0,0);
|
||||||
|
|
||||||
btVector3 worldBoundsMin,worldBoundsMax;
|
btVector3 worldBoundsMin,worldBoundsMax;
|
||||||
@@ -414,7 +418,7 @@ void VehicleDemo::renderme()
|
|||||||
m_vehicle->updateWheelTransform(i,true);
|
m_vehicle->updateWheelTransform(i,true);
|
||||||
//draw wheels (cylinders)
|
//draw wheels (cylinders)
|
||||||
m_vehicle->getWheelInfo(i).m_worldTransform.getOpenGLMatrix(m);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ class VehicleDemo : public GlutDemoApplication
|
|||||||
btRaycastVehicle::btVehicleTuning m_tuning;
|
btRaycastVehicle::btVehicleTuning m_tuning;
|
||||||
btVehicleRaycaster* m_vehicleRayCaster;
|
btVehicleRaycaster* m_vehicleRayCaster;
|
||||||
btRaycastVehicle* m_vehicle;
|
btRaycastVehicle* m_vehicle;
|
||||||
|
btCollisionShape* m_wheelShape;
|
||||||
|
|
||||||
float m_cameraHeight;
|
float m_cameraHeight;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ SubDir TOP src BulletMultiThreaded ;
|
|||||||
|
|
||||||
#IncludeDir 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 ] ;
|
CFlags bulletmultithreaded : [ FIncludes $(TOP)/src/BulletMultiThreaded ] [ FIncludes $(TOP)/src/BulletMultiThreaded/vectormath/scalar/cpp ] ;
|
||||||
LibDepends bulletmultithreaded : ;
|
LibDepends bulletmultithreaded : ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user