altrios-core 0.2.0

ALTRIOS Core model for train simulation
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::imports::*;
use crate::train::TrainState;

#[derive(Debug, Clone, Copy, Serialize, Deserialize, Default, PartialEq, SerdeAPI)]
#[altrios_api]
pub struct Basic {
    ratio: si::Ratio,
}

impl Basic {
    pub fn new(ratio: si::Ratio) -> Self {
        Self { ratio }
    }
    pub fn calc_res(&mut self, state: &TrainState) -> si::Force {
        self.ratio * state.weight_static
    }
}