27 using PyDynamicsModel = internal::PyStageFunction<DynamicsModel>;
29 StdVectorPythonVisitor<std::vector<shared_ptr<DynamicsModel>>,
true>::expose(
32 bp::class_<PyDynamicsModel, bp::bases<StageFunction>, boost::noncopyable>(
34 "Dynamics models are specific ternary functions f(x,u,x') which map "
35 "to the tangent bundle of the next state variable x'.",
36 bp::init<ManifoldPtr, int>(bp::args(
"self",
"space",
"nu")))
37 .def(bp::init<ManifoldPtr, int, ManifoldPtr>(
38 bp::args(
"self",
"space",
"nu",
"space2")))
39 .def_readonly(
"space", &DynamicsModel::space_)
40 .def_readonly(
"space_next", &DynamicsModel::space_next_)
41 .add_property(
"nx1", &DynamicsModel::nx1)
42 .add_property(
"nx2", &DynamicsModel::nx2)
43 .add_property(
"is_explicit", &DynamicsModel::is_explicit,
44 "Return whether the current model is explicit.")
46 CreateDataPolymorphicPythonVisitor<DynamicsModel, PyDynamicsModel>());
DynamicsModelTpl< Scalar > DynamicsModel