File activity_factory.h
Last update: 09.03.2026Location: autonomy/simulation/activity_factory/activity_factory.h
Classes
Namespaces
Includes
- co_sim/avx_sensor/avx_sensor_setting/avx_sensor_setting.h
- core/lifecycle/i_activity_factory/i_activity_factory.h
- core/scheduler/i_scheduler_client/i_scheduler_client.h
- core/service/parameter/simulation_parameters.h
Source
#pragma once
#include "co_sim/avx_sensor/avx_sensor_setting/avx_sensor_setting.h"
#include "core/lifecycle/i_activity_factory/i_activity_factory.h"
#include "core/scheduler/i_scheduler_client/i_scheduler_client.h"
#include "core/service/parameter/simulation_parameters.h"
namespace simulation_framework
{
namespace autonomy
{
using namespace simulation_framework::core;
using namespace simulation_framework::core::lifecycle;
class ActivityFactory : public IActivityFactory
{
public:
explicit ActivityFactory(const core::SimulationParameters& sim_params,
const time::milliseconds& base_cycle_time = time::milliseconds{50});
std::unique_ptr<core::lifecycle::iactivity> Create(
const std::string& activity_name,
const core::scheduling::SchedulerClientType type = core::scheduling::SchedulerClientType::kDUMMY) override;
std::unique_ptr<iactivity> CreateFmuActivity(
const std::string& activity_name,
const core::lifecycle::FmuConfig& fmu_config,
const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) override;
time::milliseconds GetSimulationBaseCycleTime() const override;
void SetSimulationBaseCycleTime(const time::milliseconds& time) override;
private:
bool IfAvxSensorSettingsDefined(const std::string& activity_name,
const std::vector<avx_sensor_cosim::avxsensorsetting>& avx_sensor_settings) const;
core::SimulationParameters sim_params_;
time::milliseconds base_cycle_time_;
};
} // namespace autonomy
} // namespace simulation_framework
[static]: https://img.shields.io/badge/-static-lightgrey (static)</avx_sensor_cosim::avxsensorsetting></core::lifecycle::iactivity>