@@ -51,9 +51,7 @@ int oms::cvode_rhs(realtype t, N_Vector y, N_Vector ydot, void* user_data)
5151 // update states in FMUs
5252 for (size_t i=0 , j=0 ; i < system->fmus .size (); ++i)
5353 {
54- // set time
55- fmistatus = fmi2_setTime (system->fmus [i]->getFMU (), t);
56- if (fmi2OK != fmistatus) logError_FMUCall (" fmi2_setTime" , system->fmus [i]);
54+ system->fmus [i]->setTime (t);
5755
5856 if (0 == system->nStates [i])
5957 continue ;
@@ -95,9 +93,7 @@ int oms::cvode_roots(realtype t, N_Vector y, realtype *gout, void *user_data)
9593 // update states in FMUs
9694 for (size_t i=0 , j=0 ; i < system->fmus .size (); ++i)
9795 {
98- // set time
99- fmistatus = fmi2_setTime (system->fmus [i]->getFMU (), t);
100- if (fmi2OK != fmistatus) logError_FMUCall (" fmi2_setTime" , system->fmus [i]);
96+ system->fmus [i]->setTime (t);
10197
10298 if (0 == system->nStates [i])
10399 continue ;
@@ -663,18 +659,7 @@ oms_status_enu_t oms::SystemSC::doStepEuler()
663659
664660 // set time
665661 for (const auto & component : getComponents ())
666- {
667- switch (component.second ->getType ())
668- {
669- case oms_component_fmu:
670- if (fmi2OK != fmi2_setTime (dynamic_cast <ComponentFMUME*>(component.second )->getFMU (), time))
671- logError_FMUCall (" fmi2_setTime" , dynamic_cast <ComponentFMUME*>(component.second ));
672- break ;
673- case oms_component_table:
674- dynamic_cast <ComponentTable*>(component.second )->stepUntil (time);
675- break ;
676- }
677- }
662+ component.second ->setTime (time);
678663
679664 for (size_t i = 0 ; i < fmus.size (); ++i)
680665 {
@@ -713,18 +698,7 @@ oms_status_enu_t oms::SystemSC::doStepEuler()
713698
714699 // set time
715700 for (const auto & component : getComponents ())
716- {
717- switch (component.second ->getType ())
718- {
719- case oms_component_fmu:
720- if (fmi2OK != fmi2_setTime (dynamic_cast <ComponentFMUME*>(component.second )->getFMU (), time))
721- logError_FMUCall (" fmi2_setTime" , dynamic_cast <ComponentFMUME*>(component.second ));
722- break ;
723- case oms_component_table:
724- dynamic_cast <ComponentTable*>(component.second )->stepUntil (time);
725- break ;
726- }
727- }
701+ component.second ->setTime (time);
728702
729703 // Enter event mode and handle discrete state updates for each FMU
730704 for (size_t i = 0 ; i < fmus.size (); ++i)
@@ -841,18 +815,7 @@ oms_status_enu_t oms::SystemSC::doStepCVODE()
841815
842816 // set time
843817 for (const auto & component : getComponents ())
844- {
845- switch (component.second ->getType ())
846- {
847- case oms_component_fmu:
848- if (fmi2OK != fmi2_setTime (dynamic_cast <ComponentFMUME*>(component.second )->getFMU (), time))
849- logError_FMUCall (" fmi2_setTime" , dynamic_cast <ComponentFMUME*>(component.second ));
850- break ;
851- case oms_component_table:
852- dynamic_cast <ComponentTable*>(component.second )->stepUntil (time);
853- break ;
854- }
855- }
818+ component.second ->setTime (time);
856819
857820 for (size_t i = 0 ; i < fmus.size (); ++i)
858821 {
@@ -931,18 +894,7 @@ oms_status_enu_t oms::SystemSC::doStepCVODE()
931894
932895 // set time
933896 for (const auto & component : getComponents ())
934- {
935- switch (component.second ->getType ())
936- {
937- case oms_component_fmu:
938- if (fmi2OK != fmi2_setTime (dynamic_cast <ComponentFMUME*>(component.second )->getFMU (), time))
939- logError_FMUCall (" fmi2_setTime" , dynamic_cast <ComponentFMUME*>(component.second ));
940- break ;
941- case oms_component_table:
942- dynamic_cast <ComponentTable*>(component.second )->stepUntil (time);
943- break ;
944- }
945- }
897+ component.second ->setTime (time);
946898
947899 for (size_t i = 0 ; i < fmus.size (); ++i)
948900 {
0 commit comments