22 using FiniteDiffType = FiniteDifferenceHelper<Scalar>;
23 bp::scope _ = bp::class_<FiniteDiffType, bp::bases<StageFunction>>(
24 "FiniteDifferenceHelper",
25 "Make a function into a differentiable function/dynamics using"
26 " finite differences.",
27 bp::init<xyz::polymorphic<Manifold>, xyz::polymorphic<StageFunction>,
28 const Scalar>((
"self"_a,
"space",
"func",
"eps")));
29 bp::class_<FiniteDiffType::Data, bp::bases<StageFunctionData>>(
"Data",
34 using DynFiniteDiffType = DynamicsFiniteDifferenceHelper<Scalar>;
35 bp::scope _ = bp::class_<DynFiniteDiffType, bp::bases<ExplicitDynamics>>(
36 "DynamicsFiniteDifferenceHelper",
37 bp::init<xyz::polymorphic<Manifold>, xyz::polymorphic<ExplicitDynamics>,
38 const Scalar>((
"self"_a,
"space",
"dyn",
"eps")));
39 bp::class_<DynFiniteDiffType::Data, bp::bases<ExplicitDynamicsData>>(
44 using CostFiniteDiffType = CostFiniteDifferenceHelper<Scalar>;
46 bp::class_<CostFiniteDiffType, bp::bases<CostAbstract>>(
47 "CostFiniteDifference",
48 "Define a cost function's derivatives using finite differences.",
50 .def(bp::init<xyz::polymorphic<CostAbstract>,
Scalar>(
51 (
"self"_a,
"cost",
"fd_eps")));
52 bp::class_<CostFiniteDiffType::Data, bp::bases<CostData>>(
"Data",
54 .def_readonly(
"c1", &CostFiniteDiffType::Data::c1)
55 .def_readonly(
"c2", &CostFiniteDiffType::Data::c2);
CostAbstractTpl< Scalar > CostAbstract
ManifoldAbstractTpl< Scalar > Manifold
ExplicitDynamicsModelTpl< Scalar > ExplicitDynamics
StageFunctionTpl< Scalar > StageFunction
ExplicitDynamicsDataTpl< Scalar > ExplicitDynamicsData
StageFunctionDataTpl< Scalar > StageFunctionData
CostDataAbstractTpl< Scalar > CostData