Control Libraries 7.4.0
Loading...
Searching...
No Matches
py_dynamical_system.hpp
1#pragma once
2
3#include <dynamical_systems/IDynamicalSystem.hpp>
4
5#include "py_parameter_map.hpp"
6
7template<class S>
9 : public IDynamicalSystem<S>, public PyParameterMap, public std::enable_shared_from_this<PyDynamicalSystem<S>> {
10public:
11 using IDynamicalSystem<S>::IDynamicalSystem;
12
13 [[nodiscard]] bool is_compatible(const S& state) const override {
14 PYBIND11_OVERRIDE(bool, IDynamicalSystem<S>, is_compatible, state);
15 }
16
17 void set_base_frame(const S& base_frame) override {
18 PYBIND11_OVERRIDE(void, IDynamicalSystem<S>, set_base_frame, base_frame);
19 }
20
21protected:
22 [[nodiscard]] S compute_dynamics(const S& state) const override {
23 PYBIND11_OVERRIDE_PURE(S, IDynamicalSystem<S>, compute_dynamics, state);
24 }
25};