1use fmi::{
2 EventFlags,
3 fmi3::{Fmi3Model, import::Fmi3Import, instance::InstanceME},
4};
5
6use crate::{
7 Error,
8 sim::{InputState, RecorderState, SimState, SimStateTrait, params::SimParams},
9};
10
11impl SimStateTrait<InstanceME, Fmi3Import> for SimState<InstanceME> {
12 fn new(
13 import: &Fmi3Import,
14 sim_params: SimParams,
15 input_state: InputState<InstanceME>,
16 recorder_state: RecorderState<InstanceME>,
17 ) -> Result<Self, Error> {
18 let inst = import.instantiate_me("inst1", true, true)?;
19 Ok(Self {
20 sim_params,
21 input_state,
22 recorder_state,
23 inst,
24 event_flags: EventFlags::default(),
25 })
26 }
27}