Skip to main content

AVxcelerate Simulation Framework 2025 R2 SP02

activity_factory

Last update: 19.09.2025
1
4
5#pragma once
6
7#include "autonomy/simulation/avx_sensor_setting/avx_sensor_setting.h"
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:
46 explicit ActivityFactory(const core::SimulationParameters& sim_params,
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:
91 bool IfAvxSensorSettingsDefined(const std::string& activity_name,
92 const std::vector<AvxSensorSetting>& avx_sensor_settings) const;
93
96
98 time::milliseconds base_cycle_time_;
99};
100
101} // namespace autonomy
102} // 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