$darkmode
Public Member Functions | |
| ESMiniSimulator (const ESMiniSimulator &)=default | |
| ESMiniSimulator (ESMiniSimulator &&)=delete | |
| ESMiniSimulator & | operator= (const ESMiniSimulator &)=default |
| ESMiniSimulator & | operator= (ESMiniSimulator &&)=delete |
| ESMiniSimulator (const std::string &name, ESMiniConfiguration c) | |
| void | connect () final |
| void | configure_ego_vehicles () |
| void | disconnect () final |
| void | reset () final |
| void | abort () final |
| void | enroll (cloe::Registrar &r) final |
| size_t | num_vehicles () const final |
| std::shared_ptr< cloe::Vehicle > | get_vehicle (size_t i) const final |
| std::shared_ptr< cloe::Vehicle > | get_vehicle (const std::string &key) const final |
| cloe::Duration | process (const cloe::Sync &sync) final |
Public Member Functions inherited from cloe::Model | |
| virtual | ~Model () noexcept=default |
| virtual Duration | resolution () const |
| virtual bool | is_connected () const |
| virtual bool | is_operational () const |
| virtual void | start (const Sync &) |
| virtual void | pause (const Sync &) |
| virtual void | resume (const Sync &) |
| virtual void | stop (const Sync &) |
| Entity (std::string name) | |
| Entity (std::string name, std::string desc) | |
Public Member Functions inherited from cloe::Entity | |
| Entity (std::string name) | |
| Entity (std::string name, std::string desc) | |
| const std::string & | name () const |
| void | set_name (std::string name) |
| const std::string & | description () const |
| void | set_description (std::string desc) |
Friends | |
| void | to_json (cloe::Json &j, const ESMiniSimulator &b) |
Additional Inherited Members | |
Protected Member Functions inherited from cloe::Entity | |
| virtual Logger | logger () const |
Protected Attributes inherited from cloe::Model | |
| bool | connected_ {false} |
| bool | operational_ {false} |
Protected Attributes inherited from cloe::Entity | |
| std::string | name_ |
| std::string | desc_ |
Implementation of a cloe::Simulator specifically for ESMini.
|
inlinefinalvirtual |
Signal an abort to model processing.
This method is called asynchronously. It is highly recommended to make use of a std::atomic_bool for purposes of making the abortion request known to other parts of the model. This method is called when the user requests the simulation to be aborted, e.g., by sending the SIGINT signal.
An abort will be followed by a stop if the simulation was started.
The default implementation will throw an error. This will be caught and possibly ignored. Otherwise, the simulation will be killed.
Reimplemented from cloe::Model.
|
inlinefinalvirtual |
Initiate a connection to the model, including any initialization.
After a successful connection, the following methods shall be callable:
enroll(Registrar&)start(const Sync&)When implementing this method, e.g. via override or final, make sure to call this method:
void MySuperModel::connect() final { // Your connection code Model::connect(); }
Reimplemented from cloe::Model.
|
inlinefinalvirtual |
Tear down the connection to the model.
After successful disconnection, it is not expected that the model should be able to connect again.
When implementing this method, e.g. via override or final, make sure to call this method:
void MySuperModel::disconnect() final { // Your disconnection code Model::disconnect(); }
Reimplemented from cloe::Model.
|
inlinefinalvirtual |
Register any events, actions, or handlers with the registrar.
Reimplemented from cloe::Model.
|
inlinefinalvirtual |
Return a pointer to a Vehicle.
Implements cloe::Simulator.
|
inlinefinalvirtual |
Return a pointer to a Vehicle.
Implements cloe::Simulator.
|
inlinefinalvirtual |
Return the number of vehicles that the simulator binding has access to.
Implements cloe::Simulator.
|
inlinefinalvirtual |
Send vehicle actuations to the simulator and retrieve the new world state.
Implements cloe::Simulator.
|
inlinefinalvirtual |
Reset the model state.
This is called when Cloe is asked to reset the whole simulation to time 0. This can be the case when the simulator or a controller asks us to recover from a temporary problem without repeating the whole simulation setup.
The default implementation will raise an error. So if your model is not able to re-initialize, the simulation will be aborted.
Reimplemented from cloe::Model.