28 bp::class_<PyIntegratorAbstract, bp::bases<DynamicsModel>,
29 boost::noncopyable>(
"IntegratorAbstract",
30 "Base class for numerical integrators.",
31 bp::init<const xyz::polymorphic<DAEType> &>(
32 "Construct the integrator from a DAE.",
33 bp::args(
"self",
"cont_dynamics")))
34 .def_readwrite(
"continuous_dynamics",
36 "The underlying ODE or DAE.")
37 .add_property(
"space",
39 bp::return_internal_reference<>()),
40 "Return the state manifold.")
42 .def(conversions_visitor);
44 bp::register_ptr_to_python<shared_ptr<IntegratorDataTpl<Scalar>>>();
45 bp::class_<IntegratorDataTpl<Scalar>, bp::bases<DynamicsData>>(
46 "IntegratorData",
"Base class for integrators' data.", bp::no_init)
47 .def_readwrite(
"continuous_data",
51 bp::class_<MidpointIntegrator, bp::bases<IntegratorAbstract>>(
52 "IntegratorMidpoint", bp::init<xyz::polymorphic<DAEType>,
Scalar>(
53 bp::args(
"self",
"dae",
"timestep")))
54 .def_readwrite(
"timestep", &MidpointIntegrator::timestep_,
"Time step.")
55 .def(conversions_visitor);
57 bp::register_ptr_to_python<shared_ptr<IntegratorMidpointDataTpl<Scalar>>>();
58 bp::class_<IntegratorMidpointDataTpl<Scalar>,
59 bp::bases<IntegratorDataTpl<Scalar>>>(
"IntegratorMidpointData",
DynamicsModelTpl< Scalar > DynamicsModel
dynamics::IntegratorAbstractTpl< Scalar > IntegratorAbstract
DynamicsDataTpl< Scalar > DynamicsData