Here is the source:
Code: Select all
class bullet_physics_simulator : public physics_simulator {
public:
bullet_physics_simulator();
~bullet_physics_simulator();
private:
btAxisSweep3* broadphase;
btDefaultCollisionConfiguration* collision_config;
btCollisionDispatcher* dispatcher;
btSequentialImpulseConstraintSolver* solver;
btDiscreteDynamicsWorld* dynamics_world;
};
bullet_physics_simulator::bullet_physics_simulator() {
broadphase = new btAxisSweep3(btVector3(-1000, -1000, -1000), btVector3(1000, 1000, 1000), 1024);
collision_config = new btDefaultCollisionConfiguration();
dispatcher = new btCollisionDispatcher(collision_config);
solver = new btSequentialImpulseConstraintSolver;
dynamics_world = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collision_config);
dynamics_world->setGravity(btVector3(0,-10,0));
}
bullet_physics_simulator::~bullet_physics_simulator() {
delete dynamics_world;
delete solver;
delete dispatcher;
delete collision_config;
delete broadphase;
}
Code: Select all
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
const void * pUserData
)
{
if (!pUserData)
return FALSE;
if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
return FALSE;
return HeapValidate( _crtheap, 0, pHdr(pUserData) ); // Here
}