// The destructor deletes all the added polygons
~Universe();
- void initialize(Polygon *p);
+ void initialize_polygon(Polygon *p);
void clear();
void add_polygon(Polygon *p);
bool collide(Polygon *p);
// Compute collisions between projections of the polygons on a few
// axis to speed up the computation
void compute_pseudo_collisions(int nb_axis, int *nb_colliding_axis);
+ void apply_gravity(scalar_t dt, scalar_t fx, scalar_t fy);
void apply_collision_forces(scalar_t dt);
bool update(scalar_t dt);
void draw(SimpleWindow *window);
#endif
+#ifdef CAIRO_SUPPORT
void draw(Canvas *canvas);
};
+#endif
#endif