38 using PolyExplicitDynamics = xyz::polymorphic<ExplicitDynamics>;
39 StdVectorPythonVisitor<std::vector<PolyExplicitDynamics>,
true>::expose(
40 "StdVec_ExplicitDynamics",
41 eigenpy::details::overload_base_get_item_for_std_vector<
42 std::vector<PolyExplicitDynamics>>{});
46 bp::class_<PyExplicitDynamics<>, boost::noncopyable>(
47 "ExplicitDynamicsModel",
"Base class for explicit dynamics.",
48 bp::init<const PolyManifold &, const int>(
49 "Constructor with state space and control dimension.",
50 (
"self"_a,
"space",
"nu")))
52 (
"self"_a,
"x",
"u",
"data"),
"Call for forward discrete dynamics.")
54 (
"self"_a,
"x",
"u",
"data"),
55 "Compute the derivatives of forward discrete dynamics.")
66 .enable_pickling_(
true);
68 bp::register_ptr_to_python<shared_ptr<ExplicitDynamicsData>>();
70 bp::class_<ExplicitDataWrapper, boost::noncopyable>(
71 "ExplicitDynamicsData",
"Data struct for explicit dynamics models.",
85 .def(bp::init<const ExplicitDynamics &>((
"self"_a,
"model")))
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
ExplicitDynamicsDataTpl< Scalar > ExplicitDynamicsData