#ifndef WORLD_HH #define WORLD_HH #include "vector.hh" #include "body.hh" class Vehicle; class World { double _static_friction; double _dynamic_friction; double _angular_friction; double _angular_friction_2; Vector _bodies; Vector _moving_bodies; Vector _collidable_bodies; public: World(); double static_friction(Vehicle *) const { return _static_friction; } double dynamic_friction(Vehicle *) const { return _dynamic_friction; } double angular_friction(Vehicle *) const { return _angular_friction; } double angular_friction_2(Vehicle *) const { return _angular_friction_2; } void set_static_friction(double); void set_dynamic_friction(double); void set_angular_friction(double); void set_angular_friction_2(double); int nbodies() const { return _bodies.size(); } Body *body(int i) const { return _bodies[i]; } void add(Body *); void remove(Body *); void reset(); void trail_snapshot(); void random_place(bool do_movable, bool do_stationary, View *); void draw(View *) const; void move() const; void check_collisions() const; }; #endif