Uses a Computation Graph to execute datapack transformation operations. More...
#include <computational_graph_handle.h>
Public Member Functions | |
ComputationalGraphHandle (SimulationDataManager *simulationDataManager, bool slaveMode=false, bool spinROS=false) | |
void | init (const jsonSharedPtr &simConfig, const engine_interfaces_t &engines) override |
Initializes the handler. More... | |
void | updateDataPacksFromEngines (const std::vector< EngineClientInterfaceSharedPtr > &engines) override |
Request datapacks from engines. More... | |
void | compute (const std::vector< EngineClientInterfaceSharedPtr > &engines) override |
Perform computations on datapacks. More... | |
void | sendDataPacksToEngines (const std::vector< EngineClientInterfaceSharedPtr > &engines) override |
Send datapacks to engines. More... | |
![]() | |
DataPackProcessor ()=delete | |
DataPackProcessor (SimulationDataManager *simulationDataManager) | |
virtual | ~DataPackProcessor ()=default |
virtual void | postEngineInit (const std::vector< EngineClientInterfaceSharedPtr > &) |
Performs post-engine-initialization DataPack operations. More... | |
virtual void | preEngineReset (const std::vector< EngineClientInterfaceSharedPtr > &) |
Performs pre-engine-reset DataPack operations. More... | |
virtual void | postEngineReset (const std::vector< EngineClientInterfaceSharedPtr > &) |
Performs post-engine-reset DataPack operations. More... | |
void | datapackCycle (const std::vector< EngineClientInterfaceSharedPtr > &engines) |
Execute sequentially the update, compute and send operations. More... | |
void | setSimulationTime (SimulationTime simulationTime) |
void | setSimulationIteration (unsigned long simulationIteration) |
Public Attributes | |
bool | _slaveMode |
bool | _spinROS |
PyGILState_STATE | _pyGILState |
std::map< std::string, InputEngineNode * > | _inputs |
Map containing all InputEngineNodes associated with this simulation. More... | |
std::map< std::string, OutputEngineNode * > | _outputs |
Map containing all OutputEngineNodes associated with this simulation. More... | |
InputClockNode * | _clock = nullptr |
Pointer to the clock_node of the graph. More... | |
InputIterationNode * | _iteration = nullptr |
Pointer to the iteration_node of the graph. More... | |
Additional Inherited Members | |
![]() | |
using | engine_interfaces_t = std::vector< EngineClientInterfaceSharedPtr > |
![]() | |
SimulationDataManager * | _simulationDataManager |
SimulationTime | _simulationTime = SimulationTime::zero() |
unsigned long | _simulationIteration = 0L |
Uses a Computation Graph to execute datapack transformation operations.
|
inline |
|
inlineoverridevirtual |
Perform computations on datapacks.
engines | Engines that are been synchronize in the current loop |
Implements DataPackProcessor.
|
inlineoverridevirtual |
Initializes the handler.
simConfig | json object containing configuration information to initialize the handler |
engines | list of Engine clients participating in the simulation |
Implements DataPackProcessor.
|
inlineoverridevirtual |
Send datapacks to engines.
engines | Engines that are been synchronize in the current loop |
Implements DataPackProcessor.
|
inlineoverridevirtual |
Request datapacks from engines.
engines | Engines that are been synchronize in the current loop |
Implements DataPackProcessor.
InputClockNode* ComputationalGraphHandle::_clock = nullptr |
Pointer to the clock_node of the graph.
std::map<std::string, InputEngineNode*> ComputationalGraphHandle::_inputs |
Map containing all InputEngineNodes associated with this simulation.
InputIterationNode* ComputationalGraphHandle::_iteration = nullptr |
Pointer to the iteration_node of the graph.
std::map<std::string, OutputEngineNode*> ComputationalGraphHandle::_outputs |
Map containing all OutputEngineNodes associated with this simulation.
PyGILState_STATE ComputationalGraphHandle::_pyGILState |
bool ComputationalGraphHandle::_slaveMode |
bool ComputationalGraphHandle::_spinROS |