|
FERS 1.0.0
The Flexible Extensible Radar Simulator
|
The World class manages the simulator environment. More...
#include "world.h"
Public Member Functions | |
| World ()=default | |
| ~World () noexcept=default | |
| World (const World &)=delete | |
| World & | operator= (const World &)=delete |
| World (World &&)=delete | |
| World & | operator= (World &&)=delete |
| void | add (std::unique_ptr< radar::Platform > plat) noexcept |
| Adds a radar platform to the simulation world. | |
| void | add (std::unique_ptr< radar::Transmitter > trans) noexcept |
| Adds a radar transmitter to the simulation world. | |
| void | add (std::unique_ptr< radar::Receiver > recv) noexcept |
| Adds a radar receiver to the simulation world. | |
| void | add (std::unique_ptr< radar::Target > target) noexcept |
| Adds a radar target to the simulation world. | |
| void | add (std::unique_ptr< fers_signal::RadarSignal > waveform) |
| Adds a radar signal (waveform) to the simulation world. | |
| void | add (std::unique_ptr< antenna::Antenna > antenna) |
| Adds an antenna to the simulation world. | |
| void | add (std::unique_ptr< timing::PrototypeTiming > timing) |
| Adds a timing source to the simulation world. | |
| fers_signal::RadarSignal * | findWaveform (const std::string &name) |
| Finds a radar signal by name. | |
| antenna::Antenna * | findAntenna (const std::string &name) |
| Finds an antenna by name. | |
| timing::PrototypeTiming * | findTiming (const std::string &name) |
| Finds a timing source by name. | |
| const std::vector< std::unique_ptr< radar::Platform > > & | getPlatforms () const noexcept |
| Retrieves the list of platforms. | |
| const std::vector< std::unique_ptr< radar::Target > > & | getTargets () const noexcept |
| Retrieves the list of radar targets. | |
| const std::vector< std::unique_ptr< radar::Receiver > > & | getReceivers () const noexcept |
| Retrieves the list of radar receivers. | |
| const std::vector< std::unique_ptr< radar::Transmitter > > & | getTransmitters () const noexcept |
| Retrieves the list of radar transmitters. | |
| const std::unordered_map< std::string, std::unique_ptr< fers_signal::RadarSignal > > & | getWaveforms () const noexcept |
| Retrieves the map of radar signals (waveforms). | |
| const std::unordered_map< std::string, std::unique_ptr< antenna::Antenna > > & | getAntennas () const noexcept |
| Retrieves the map of antennas. | |
| const std::unordered_map< std::string, std::unique_ptr< timing::PrototypeTiming > > & | getTimings () const noexcept |
| Retrieves the map of timing prototypes. | |
| void | clear () noexcept |
| Clears all objects and assets from the simulation world. | |
| void | scheduleInitialEvents () |
| Populates the event queue with the initial events for the simulation. | |
| std::string | dumpEventQueue () const |
| Dumps the current state of the event queue to a string for debugging. | |
| std::priority_queue< Event, std::vector< Event >, EventComparator > & | getEventQueue () noexcept |
| Gets a mutable reference to the global event queue. | |
| SimulationState & | getSimulationState () noexcept |
| Gets a mutable reference to the global simulation state. | |
|
default |
|
defaultnoexcept |
|
delete |
|
delete |
| void core::World::add | ( | std::unique_ptr< antenna::Antenna > | antenna | ) |
Adds an antenna to the simulation world.
| antenna | A unique pointer to an Antenna object. |
| std::runtime_error | if an antenna with the same name already exists. |
| void core::World::add | ( | std::unique_ptr< fers_signal::RadarSignal > | waveform | ) |
Adds a radar signal (waveform) to the simulation world.
| waveform | A unique pointer to a RadarSignal object. |
| std::runtime_error | if a waveform with the same name already exists. |
Definition at line 43 of file world.cpp.
|
noexcept |
Adds a radar platform to the simulation world.
| plat | A unique pointer to a Platform object. |
Definition at line 35 of file world.cpp.
Referenced by serial::json_to_world().
Here is the caller graph for this function:
|
noexcept |
|
noexcept |
|
noexcept |
| void core::World::add | ( | std::unique_ptr< timing::PrototypeTiming > | timing | ) |
Adds a timing source to the simulation world.
| timing | A unique pointer to a PrototypeTiming object. |
| std::runtime_error | if a timing source with the same name already exists. |
|
noexcept |
Clears all objects and assets from the simulation world.
Definition at line 85 of file world.cpp.
Referenced by serial::json_to_world(), serial::parseSimulation(), and serial::parseSimulationFromString().
Here is the caller graph for this function:| std::string core::World::dumpEventQueue | ( | ) | const |
Dumps the current state of the event queue to a string for debugging.
Definition at line 180 of file world.cpp.
References core::toString().
Here is the call graph for this function:| Antenna * core::World::findAntenna | ( | const std::string & | name | ) |
Finds an antenna by name.
| name | The name of the antenna to find. |
Definition at line 75 of file world.cpp.
Referenced by serial::json_to_world().
Here is the caller graph for this function:| PrototypeTiming * core::World::findTiming | ( | const std::string & | name | ) |
Finds a timing source by name.
| name | The name of the timing source to find. |
Definition at line 80 of file world.cpp.
Referenced by serial::json_to_world().
Here is the caller graph for this function:| RadarSignal * core::World::findWaveform | ( | const std::string & | name | ) |
Finds a radar signal by name.
| name | The name of the radar signal to find. |
Definition at line 70 of file world.cpp.
Referenced by serial::json_to_world().
Here is the caller graph for this function:
|
noexcept |
Retrieves the map of antennas.
Definition at line 183 of file world.h.
Referenced by serial::world_to_json(), and serial::world_to_xml_string().
Here is the caller graph for this function:
|
noexcept |
Gets a mutable reference to the global event queue.
Definition at line 219 of file world.h.
Referenced by core::runEventDrivenSim().
Here is the caller graph for this function:
|
noexcept |
Retrieves the list of platforms.
Definition at line 133 of file world.h.
Referenced by serial::world_to_json(), and serial::world_to_xml_string().
Here is the caller graph for this function:
|
noexcept |
Retrieves the list of radar receivers.
Definition at line 153 of file world.h.
Referenced by simulation::calculatePreviewLinks(), serial::KmlGenerator::generateKml(), serial::json_to_world(), core::runEventDrivenSim(), and serial::world_to_json().
Here is the caller graph for this function:
|
noexcept |
Gets a mutable reference to the global simulation state.
Definition at line 228 of file world.h.
Referenced by core::runEventDrivenSim().
Here is the caller graph for this function:
|
noexcept |
Retrieves the list of radar targets.
Definition at line 143 of file world.h.
Referenced by simulation::calculatePreviewLinks(), serial::KmlGenerator::generateKml(), serial::json_to_world(), core::runEventDrivenSim(), and serial::world_to_json().
Here is the caller graph for this function:
|
noexcept |
Retrieves the map of timing prototypes.
Definition at line 193 of file world.h.
Referenced by serial::world_to_json(), and serial::world_to_xml_string().
Here is the caller graph for this function:
|
noexcept |
Retrieves the list of radar transmitters.
Definition at line 163 of file world.h.
Referenced by simulation::calculatePreviewLinks(), serial::KmlGenerator::generateKml(), and serial::world_to_json().
Here is the caller graph for this function:
|
noexcept |
Retrieves the map of radar signals (waveforms).
Definition at line 173 of file world.h.
Referenced by serial::world_to_json(), and serial::world_to_xml_string().
Here is the caller graph for this function:| void core::World::scheduleInitialEvents | ( | ) |
Populates the event queue with the initial events for the simulation.
This method should be called after all simulation objects have been parsed and added to the world.
Definition at line 98 of file world.cpp.
References params::endTime(), radar::PULSED_MODE, core::RX_CW_END, core::RX_CW_START, core::RX_PULSED_WINDOW_START, params::startTime(), core::TX_CW_END, core::TX_CW_START, and core::TX_PULSED_START.
Referenced by serial::json_to_world().
Here is the call graph for this function:
Here is the caller graph for this function: