Control Libraries 7.4.0
Loading...
Searching...
No Matches
DynamicalSystemFactory.hpp
1#pragma once
2
3#include "dynamical_systems/DynamicalSystemType.hpp"
4#include "dynamical_systems/IDynamicalSystem.hpp"
5
6#include "state_representation/space/cartesian/CartesianState.hpp"
7#include "state_representation/space/joint/JointState.hpp"
8
9namespace dynamical_systems {
10
16template<class S>
18public:
24 static std::shared_ptr<IDynamicalSystem<S>> create_dynamical_system(DYNAMICAL_SYSTEM_TYPE type);
25
32 static std::shared_ptr<IDynamicalSystem<S>> create_dynamical_system(
33 DYNAMICAL_SYSTEM_TYPE type, const std::list<std::shared_ptr<state_representation::ParameterInterface>>& parameters
34 );
35};
36
37template<class S>
39 std::list<std::shared_ptr<state_representation::ParameterInterface>> parameters;
41}
42
45
46}// namespace dynamical_systems
Factory to create a shared pointer to a dynamical system.
static std::shared_ptr< IDynamicalSystem< S > > create_dynamical_system(DYNAMICAL_SYSTEM_TYPE type)
Create a dynamical system of the desired type.
static std::shared_ptr< IDynamicalSystem< S > > create_dynamical_system(DYNAMICAL_SYSTEM_TYPE type, const std::list< std::shared_ptr< state_representation::ParameterInterface > > &parameters)
Create a dynamical system of the desired type with initial parameters.
Systems of equations relating state variables to their derivatives.
Definition Circular.hpp:7
DYNAMICAL_SYSTEM_TYPE
Enumeration of the implemented dynamical systems.