Guest User

Untitled

a guest
Sep 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. #include <BulletCollision/BroadphaseCollision/btDbvtBroadphase.h>
  2. #include <BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h>
  3. #include <BulletCollision/CollisionDispatch/btCollisionDispatcher.h>
  4. #include <BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h>
  5. #include <BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h>
  6. #include <BulletCollision/CollisionShapes/btBoxShape.h>
  7. #include <LinearMath/btMotionState.h>
  8. #include <LinearMath/btDefaultMotionState.h>
  9. #include <iostream>
  10. #include <unistd.h>
  11.  
  12. int main()
  13. {
  14. // Build the broadphase
  15. btBroadphaseInterface* broadphase = new btDbvtBroadphase();
  16.  
  17. // Set up the collision configuration and dispatcher
  18. btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
  19. btCollisionDispatcher* dispatcher = new btCollisionDispatcher(collisionConfiguration);
  20.  
  21. // The actual physics solver
  22. btSequentialImpulseConstraintSolver* solver = new btSequentialImpulseConstraintSolver;
  23.  
  24. // The world.
  25. btDiscreteDynamicsWorld* dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,broadphase,solver,collisionConfiguration);
  26. dynamicsWorld->setGravity(btVector3(0,-9.81f,0));
  27.  
  28. btCollisionShape* boxCollisionShape = new btBoxShape(btVector3(1.0f, 1.0f, 1.0f));
  29.  
  30. btDefaultMotionState* motionstate = new btDefaultMotionState(btTransform(
  31. btQuaternion(0, 0, 0, 1),
  32. btVector3(0, 0, 0)
  33. ));
  34.  
  35. btRigidBody::btRigidBodyConstructionInfo rigidBodyCI(
  36. 1, // mass, in kg. 0 -> Static object, will never move.
  37. motionstate,
  38. boxCollisionShape, // collision shape of body
  39. btVector3(0,0,0) // local inertia
  40. );
  41. btRigidBody *rigidBody = new btRigidBody(rigidBodyCI);
  42.  
  43. rigidBody->setLinearVelocity(btVector3(1.0f, 0.0f, 0.0f));
  44.  
  45. dynamicsWorld->addRigidBody(rigidBody);
  46.  
  47. while (1 == 1)
  48. {
  49. dynamicsWorld->stepSimulation(1.0f);
  50. btTransform trans = rigidBody->getWorldTransform();
  51. btVector3 origin = trans.getOrigin();
  52. std::cout << origin.getX() << ":" << origin.getY() << ":" << origin.getZ() << std::endl;
  53. sleep(1);
  54. }
  55.  
  56. return 0;
  57. }
Add Comment
Please, Sign In to add comment