pub trait DecoModel {
type ConfigType: DecoModelConfig;
// Required methods
fn new(config: Self::ConfigType) -> Self;
fn step(&mut self, depth: &Depth, time: &Seconds, gas: &Gas);
fn ndl(&self) -> Minutes;
fn ceiling(&self) -> Depth;
fn config(&self) -> Self::ConfigType;
fn dive_state(&self) -> DiveState;
}
Required Associated Types§
type ConfigType: DecoModelConfig
Required Methods§
sourcefn new(config: Self::ConfigType) -> Self
fn new(config: Self::ConfigType) -> Self
model init
sourcefn step(&mut self, depth: &Depth, time: &Seconds, gas: &Gas)
fn step(&mut self, depth: &Depth, time: &Seconds, gas: &Gas)
add register step (depth: meters, time: seconds)
sourcefn config(&self) -> Self::ConfigType
fn config(&self) -> Self::ConfigType
get model config
sourcefn dive_state(&self) -> DiveState
fn dive_state(&self) -> DiveState
get model dive state
Object Safety§
This trait is not object safe.