aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/plugin.rs
blob: 7ad018b0256609028d1a18b832ba991d3a5dcb5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
use crate::testbed::PhysicsState;
use kiss3d::window::Window;
use na::Point3;

pub trait TestbedPlugin {
    fn init_graphics(&mut self, window: &mut Window, gen_color: &mut dyn FnMut() -> Point3<f32>);
    fn clear_graphics(&mut self, window: &mut Window);
    fn run_callbacks(&mut self, window: &mut Window, physics: &mut PhysicsState, t: f32);
    fn step(&mut self, physics: &mut PhysicsState);
    fn draw(&mut self);
    fn profiling_string(&self) -> String;
}