src/proto2/Physics.cc
changeset 105 91e3f3806b31
parent 104 5cb116dc0759
child 106 731f9dd775d4
equal deleted inserted replaced
104:5cb116dc0759 105:91e3f3806b31
     6 #include <functional>
     6 #include <functional>
     7 #include <cmath>
     7 #include <cmath>
     8 #include <assert.h>
     8 #include <assert.h>
     9 
     9 
    10 PhysicsWorld::PhysicsWorld (Vector gravity, Vector dimensions)
    10 PhysicsWorld::PhysicsWorld (Vector gravity, Vector dimensions)
    11     : tick_timer(PHYSICS_TICK_MS), gravity(gravity), dimensions(dimensions), terrain(dimensions.x, std::vector<TerrainType>(dimensions.y, DIRT)) {
    11     : tick_timer(PHYSICS_TICK_MS), tick_counter(0), gravity(gravity), dimensions(dimensions), terrain(dimensions.x, std::vector<TerrainType>(dimensions.y, DIRT)) {
    12 
    12 
    13 	generateTerrain(1337);
    13 	generateTerrain(1337);
    14 
    14 
    15     slots.connect(tick_timer.sig_timer(), this, &PhysicsWorld::tick);
    15     slots.connect(tick_timer.sig_timer(), this, &PhysicsWorld::tick);
    16     tick_timer.enable();
    16     tick_timer.enable();
    24 //    Engine::log(DEBUG, "physics.apply_force") << "*tick*";
    24 //    Engine::log(DEBUG, "physics.apply_force") << "*tick*";
    25 
    25 
    26     for (std::vector<PhysicsObject*>::iterator i = objects.begin(); i != objects.end(); i++) {
    26     for (std::vector<PhysicsObject*>::iterator i = objects.begin(); i != objects.end(); i++) {
    27         (*i)->tick(); 
    27         (*i)->tick(); 
    28     }
    28     }
       
    29 
       
    30     tick_counter++;
       
    31 }
       
    32 
       
    33 uint32_t PhysicsWorld::getTick (void) {
       
    34     return tick_counter;
    29 }
    35 }
    30 
    36 
    31 PhysicsObject::PhysicsObject (PhysicsWorld &world, float mass, Vector position, Vector velocity)
    37 PhysicsObject::PhysicsObject (PhysicsWorld &world, float mass, Vector position, Vector velocity)
    32 	: world(world), mass(mass), position(position), velocity(velocity) {
    38 	: world(world), mass(mass), position(position), velocity(velocity) {
    33 
    39