18 #ifndef GZ_SIM_SYSTEMS_PYTHONSYSTEMLOADER_HH_
19 #define GZ_SIM_SYSTEMS_PYTHONSYSTEMLOADER_HH_
21 #include <pybind11/embed.h>
24 #include <sdf/Element.hh>
29 #include "gz/sim/config.hh"
30 #include "gz/sim/python-system-loader-system/Export.hh"
37 inline namespace GZ_SIM_VERSION_NAMESPACE {
78 public:
void Configure(const
Entity &_entity,
79 const
std::shared_ptr<const sdf::Element> &_sdf,
101 private: template <typename ...Args>
102 void CallPythonMethod(pybind11::
object _method, Args&&...);
108 private:
bool validConfig{
false};
110 private: pybind11::module_ pythonModule;
112 private: pybind11::object pythonSystem;
114 private: pybind11::object preUpdateMethod;
116 private: pybind11::object updateMethod;
118 private: pybind11::object postUpdateMethod;
120 private: pybind11::object resetMethod;