Skip to main content

AVxcelerate Simulation Framework 2025 R2

activity_factory

Last update: 16.07.2025
1
5
6#pragma once
7
8#include "core/lifecycle/i_activity_factory/i_activity_factory.h"
9#include "core/scheduler/i_scheduler_client/i_scheduler_client.h"
10#include "core/service/parameter/simulation_parameters.h"
11
17{
18
23namespace autonomy
24{
25
26using namespace simulation_framework::core;
27using namespace simulation_framework::core::lifecycle;
28
39{
40 public:
47 const time::milliseconds& base_cycle_time = time::milliseconds{50});
48
58 std::unique_ptr<core::lifecycle::IActivity> Create(
59 const std::string& activity_name,
60 const core::scheduling::SchedulerClientType type = core::scheduling::SchedulerClientType::kDUMMY) override;
61
72 std::unique_ptr<IActivity> CreateFmuActivity(
73 const std::string& activity_name,
74 const core::lifecycle::FmuConfig& fmu_config,
75 const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) override;
76
81 time::milliseconds GetSimulationBaseCycleTime() const override;
82
87 void SetSimulationBaseCycleTime(const time::milliseconds& time) override;
88
89 private:
92
94 time::milliseconds base_cycle_time_;
95};
96
97} // namespace autonomy
98} // namespace simulation_framework
Factory class for creating activities for autonomy simulation.
time::milliseconds GetSimulationBaseCycleTime() const override
Retrieves the simulation's base cycle time.
ActivityFactory(const core::SimulationParameters &sim_params, const time::milliseconds &base_cycle_time=time::milliseconds{50})
Constructs an ActivityFactory instance.
std::unique_ptr< core::lifecycle::IActivity > Create(const std::string &activity_name, const core::scheduling::SchedulerClientType type=core::scheduling::SchedulerClientType::kDUMMY) override
Creates a simulation activity.
std::unique_ptr< IActivity > CreateFmuActivity(const std::string &activity_name, const core::lifecycle::FmuConfig &fmu_config, const scheduling::SchedulerClientType type=scheduling::SchedulerClientType::kDUMMY) override
Creates an FMU-based simulation activity.
void SetSimulationBaseCycleTime(const time::milliseconds &time) override
Sets the simulation's base cycle time.
Interface for creating simulation activities.
The namespace for all autonomy specific functionalities.
The top namespace for simulation framework.
The namespace for simulation time related implementation under namespace simulation_framework::core.
The SimulationParameters struct encapsulates parameters related to simfwk-core configuration.
A helper struct to pass necessary information to create FmuBaseActivity.
Definition fmu_config.h:33

Connect with Ansys