IEnvironment is not stepable
Dear all, `IEnvironment` does currently not mandate a `Step()` function cf. [`environmentInterface.h`](https://gitlab.eclipse.org/eclipse/simopenpass/opSimulation/-/blob/openscenarioengine-prototyping/sim/include/environmentInterface.h#L24). Is there a reason it should not be stepable? Consider the following usage example: ```c++ std::shared_ptr<IEnvironment> m_environment; std::shared_ptr<IScenarioEngine> m_scenario_engine; SimulatorImpl::SimulatorImpl() { m_environment = std::make_shared<EnvironmentImpl>(); m_scenario_engine = std::make_shared<ScenarioEngineImpl>(m_environment); ... } void SimulatorImpl::Step() { m_environment->Step(); m_scenario_engine->Step(); ... } ``` If we agreed on making `IEnvironment` stepable, we could derive from `IStepable` e.g.: ```c++ struct IStepable { virtual ~IStepable() = default; virtual bool PreStep() = 0; virtual bool Step() = 0; virtual bool PostStep() = 0; }; ``` The need for `PreStep()` and `PostStep()` would need to be discussed as well. Cheers, Martin Martin Stump <martin.stump@mercedes-benz.com> on behalf of Mercedes-Benz Tech Innovation GmbH, [Provider Information](https://github.com/mercedes-benz/foss/blob/master/PROVIDER_INFORMATION.md)
issue

Copyright © Eclipse Foundation AISBL. All rights reserved.     Privacy Policy | Terms of Use | Copyright Agent