From 2831e232b886c5e3b0791ea5192f9e5194e6abf3 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Fri, 9 Mar 2018 23:55:49 -0500 Subject: Added IGUIImages Added the ability to display itextures on the gui --- src/test_bullet.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/test_bullet.cpp (limited to 'src/test_bullet.cpp') diff --git a/src/test_bullet.cpp b/src/test_bullet.cpp new file mode 100644 index 0000000..fa17f6a --- /dev/null +++ b/src/test_bullet.cpp @@ -0,0 +1,72 @@ +#include + +#include + +int main (void) +{ + + btBroadphaseInterface* broadphase = new btDbvtBroadphase(); + + btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(); + btCollisionDispatcher* dispatcher = new btCollisionDispatcher(collisionConfiguration); + + btSequentialImpulseConstraintSolver* solver = new btSequentialImpulseConstraintSolver; + + btDiscreteDynamicsWorld* dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collisionConfiguration); + + dynamicsWorld->setGravity(btVector3(0, -10, 0)); + + + btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0, 1, 0), 1); + + btCollisionShape* fallShape = new btSphereShape(1); + + + btDefaultMotionState* groundMotionState = new btDefaultMotionState(btTransform(btQuaternion(0, 0, 0, 1), btVector3(0, -1, 0))); + btRigidBody::btRigidBodyConstructionInfo + groundRigidBodyCI(0, groundMotionState, groundShape, btVector3(0, 0, 0)); + btRigidBody* groundRigidBody = new btRigidBody(groundRigidBodyCI); + dynamicsWorld->addRigidBody(groundRigidBody); + + + btDefaultMotionState* fallMotionState = + new btDefaultMotionState(btTransform(btQuaternion(0, 0, 0, 1), btVector3(0, 50, 0))); + btScalar mass = 1; + btVector3 fallInertia(0, 0, 0); + fallShape->calculateLocalInertia(mass, fallInertia); + btRigidBody::btRigidBodyConstructionInfo fallRigidBodyCI(mass, fallMotionState, fallShape, fallInertia); + btRigidBody* fallRigidBody = new btRigidBody(fallRigidBodyCI); + dynamicsWorld->addRigidBody(fallRigidBody); + + + for (int i = 0; i < 300; i++) { + dynamicsWorld->stepSimulation(1 / 60.f, 10); + + btTransform trans; + fallRigidBody->getMotionState()->getWorldTransform(trans); + + std::cout << "sphere height: " << trans.getOrigin().getY() << std::endl; + } + + dynamicsWorld->removeRigidBody(fallRigidBody); + delete fallRigidBody->getMotionState(); + delete fallRigidBody; + + dynamicsWorld->removeRigidBody(groundRigidBody); + delete groundRigidBody->getMotionState(); + delete groundRigidBody; + + + delete fallShape; + + delete groundShape; + + + delete dynamicsWorld; + delete solver; + delete collisionConfiguration; + delete dispatcher; + delete broadphase; + + return 0; +} -- cgit v1.2.3-70-g09d2