Skip to main content

AVxcelerate Simulation Framework 2026 R1

File activity_factory.h

Last update: 09.03.2026

Location: autonomy/simulation/activity_factory/activity_factory.h

Classes

Namespaces

Includes

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&amp; activity_name,
        const core::scheduling::SchedulerClientType type = core::scheduling::SchedulerClientType::kDUMMY) override;

    std::unique_ptr<iactivity> CreateFmuActivity(
        const std::string&amp; activity_name,
        const core::lifecycle::FmuConfig&amp; fmu_config,
        const scheduling::SchedulerClientType type = scheduling::SchedulerClientType::kDUMMY) override;

    time::milliseconds GetSimulationBaseCycleTime() const override;

    void SetSimulationBaseCycleTime(const time::milliseconds&amp; time) override;

  private:
    bool IfAvxSensorSettingsDefined(const std::string&amp; activity_name,
                                    const std::vector<avx_sensor_cosim::avxsensorsetting>&amp; 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>

Connect with Ansys