Skip to main content

AVxcelerate Simulation Framework 2026 R1 SP01

File activity_factory.h

Last update: 22.04.2026

Location: autonomy/simulation/activity_factory/activity_factory.h

Classes

Namespaces

Includes

Source



#ifndef SIMFWK_AUTONOMY_AUTONOMY_SIMULATION_ACTIVITYFACTORY_ACTIVITYFACTORY_H
#define SIMFWK_AUTONOMY_AUTONOMY_SIMULATION_ACTIVITYFACTORY_ACTIVITYFACTORY_H

#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

#endif  // SIMFWK_AUTONOMY_AUTONOMY_SIMULATION_ACTIVITYFACTORY_ACTIVITYFACTORY_H

Connect with Ansys