class TFManagerHandle

Overview

Uses the TF framework to execute datapack transformation operations. More…

#include <tf_manager_handle.h>

class TFManagerHandle: public DataPackProcessor {
public:
    // construction

    TFManagerHandle(SimulationDataManager* simulationDataManager);

    // methods

    virtual void init(
        const jsonSharedPtr& simConfig,
        const engine_interfaces_t& engines
    );

    virtual void postEngineInit(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    virtual void preEngineReset(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    virtual void postEngineReset(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    virtual void updateDataPacksFromEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    virtual void compute(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    virtual void sendDataPacksToEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines);
};

Inherited Members

public:
    // typedefs

    typedef std::vector<EngineClientInterfaceSharedPtr> engine_interfaces_t;

    // methods

    virtual void init(
        const jsonSharedPtr& simConfig,
        const engine_interfaces_t& engines
    ) = 0;

    virtual void updateDataPacksFromEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines) = 0;
    virtual void compute(const std::vector<EngineClientInterfaceSharedPtr>& engines) = 0;
    virtual void sendDataPacksToEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines) = 0;
    virtual void postEngineInit(const std::vector<EngineClientInterfaceSharedPtr>&);
    virtual void preEngineReset(const std::vector<EngineClientInterfaceSharedPtr>&);
    virtual void postEngineReset(const std::vector<EngineClientInterfaceSharedPtr>&);
    void datapackCycle(const std::vector<EngineClientInterfaceSharedPtr>& engines);
    void setSimulationTime(SimulationTime simulationTime);
    void setSimulationIteration(unsigned long simulationIteration);

Detailed Documentation

Uses the TF framework to execute datapack transformation operations.

Methods

virtual void init(
    const jsonSharedPtr& simConfig,
    const engine_interfaces_t& engines
)

Initializes the handler.

Parameters:

simConfig

json object containing configuration information to initialize the handler

engines

list of Engine clients participating in the simulation

virtual void postEngineInit(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Performs post-engine-initialization DataPack operations.

The method will retrieve DataPacks prepared by the engines’ initialize() functions, and push them into the trajectory buffer, so that they can be returned to the main script.

Parameters:

engines

Vector of engines for which the post-init step should be performed

virtual void preEngineReset(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Performs pre-engine-reset DataPack operations.

The method will send Engine DataPacks to all engines. This allows the main script to send additional data or commands to the engines on reset().

Parameters:

engines

Vector of engines for which the pre-init step should be performed

virtual void postEngineReset(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Performs post-engine-reset DataPack operations.

The method will retrieve DataPacks prepared by the engines’ reset() functions, and push them into the trajectory buffer, so that they can be returned to the main script.

Parameters:

engines

Vector of engines for which the post-reset step should be performed

virtual void updateDataPacksFromEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Request datapacks from engines.

Parameters:

engines

Engines that are been synchronize in the current loop

virtual void compute(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Perform computations on datapacks.

Parameters:

engines

Engines that are been synchronize in the current loop

virtual void sendDataPacksToEngines(const std::vector<EngineClientInterfaceSharedPtr>& engines)

Send datapacks to engines.

Parameters:

engines

Engines that are been synchronize in the current loop