1use crate::b2_math::*;
2
3#[derive(Default, Clone, Copy, Debug)]
5pub struct B2Profile {
6 pub step: f32,
7 pub collide: f32,
8 pub solve: f32,
9 pub solve_init: f32,
10 pub solve_velocity: f32,
11 pub solve_position: f32,
12 pub broadphase: f32,
13 pub solve_toi: f32,
14}
15
16#[derive(Default, Clone, Copy, Debug)]
18pub(crate) struct B2timeStep {
19 pub dt: f32, pub inv_dt: f32, pub dt_ratio: f32, pub velocity_iterations: i32,
23 pub position_iterations: i32,
24 pub warm_starting: bool,
25}
26
27#[derive(Default, Clone, Copy, Debug)]
29pub struct B2position {
30 pub(crate) c: B2vec2,
31 pub(crate) a: f32,
32}
33
34#[derive(Default, Clone, Copy, Debug)]
36pub struct B2velocity {
37 pub(crate) v: B2vec2,
38 pub(crate) w: f32,
39}
40
41#[derive(Default, Debug)]
51pub struct B2solverData {
52 pub(crate) step: B2timeStep,
53 }