38 StdVectorPythonVisitor<std::vector<shared_ptr<ExplicitDynamics>>,
39 true>::expose(
"StdVec_ExplicitDynamics");
41 bp::class_<PyExplicitDynamics<>, bp::bases<DynamicsModel>,
43 "ExplicitDynamicsModel",
"Base class for explicit dynamics.",
44 bp::init<ManifoldPtr, const int>(
45 "Constructor with state space and control dimension.",
46 bp::args(
"self",
"space",
"nu")))
47 .def(
"forward", bp::pure_virtual(&ExplicitDynamics::forward),
48 bp::args(
"self",
"x",
"u",
"data"),
49 "Call for forward discrete dynamics.")
50 .def(
"dForward", bp::pure_virtual(&ExplicitDynamics::dForward),
51 bp::args(
"self",
"x",
"u",
"data"),
52 "Compute the derivatives of forward discrete dynamics.")
54 PyExplicitDynamics<>>());
56 bp::register_ptr_to_python<shared_ptr<ExplicitDynamicsData>>();
58 bp::class_<ExplicitDataWrapper, bp::bases<context::StageFunctionData>,
59 boost::noncopyable>(
"ExplicitDynamicsData",
60 "Data struct for explicit dynamics models.",
61 bp::init<int, int, int, int>(bp::args(
62 "self",
"ndx1",
"nu",
"nx2",
"ndx2")))
65 bp::make_getter(&ExplicitDynamicsData::xnext_ref,
66 bp::return_value_policy<bp::return_by_value>()))
68 "dx", bp::make_getter(&ExplicitDynamicsData::dx_ref,
69 bp::return_value_policy<bp::return_by_value>()))
70 .def(PrintableVisitor<ExplicitDynamicsData>());
DynamicsModelTpl< Scalar > DynamicsModel
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
ExplicitDynamicsDataTpl< Scalar > ExplicitDynamicsData