| 44 | namespace python { |
| 45 | |
| 46 | void Problem(py::module& m) |
| 47 | { |
| 48 | ::py::class_< |
| 49 | dart::optimizer::Problem, |
| 50 | std::shared_ptr<dart::optimizer::Problem>>(m, "Problem") |
| 51 | .def(::py::init<>()) |
| 52 | .def(::py::init<std::size_t>(), ::py::arg("dim")) |
| 53 | .def( |
| 54 | "setDimension", |
| 55 | +[](dart::optimizer::Problem* self, std::size_t _dim) { |
| 56 | self->setDimension(_dim); |
| 57 | }, |
| 58 | ::py::arg("dim")) |
| 59 | .def( |
| 60 | "getDimension", |
| 61 | +[](const dart::optimizer::Problem* self) -> std::size_t { |
| 62 | return self->getDimension(); |
| 63 | }) |
| 64 | .def( |
| 65 | "setInitialGuess", |
| 66 | +[](dart::optimizer::Problem* self, |
| 67 | const Eigen::VectorXd& _initGuess) { |
| 68 | self->setInitialGuess(_initGuess); |
| 69 | }, |
| 70 | ::py::arg("initGuess")) |
| 71 | .def( |
| 72 | "getInitialGuess", |
| 73 | +[](dart::optimizer::Problem* self) -> const Eigen::VectorXd& { |
| 74 | return self->getInitialGuess(); |
| 75 | }) |
| 76 | .def( |
| 77 | "addSeed", |
| 78 | +[](dart::optimizer::Problem* self, const Eigen::VectorXd& _seed) { |
| 79 | self->addSeed(_seed); |
| 80 | }, |
| 81 | ::py::arg("seed")) |
| 82 | .def( |
| 83 | "clearAllSeeds", |
| 84 | +[](dart::optimizer::Problem* self) { self->clearAllSeeds(); }) |
| 85 | .def( |
| 86 | "setLowerBounds", |
| 87 | +[](dart::optimizer::Problem* self, const Eigen::VectorXd& _lb) { |
| 88 | self->setLowerBounds(_lb); |
| 89 | }, |
| 90 | ::py::arg("lb")) |
| 91 | .def( |
| 92 | "setUpperBounds", |
| 93 | +[](dart::optimizer::Problem* self, const Eigen::VectorXd& _ub) { |
| 94 | self->setUpperBounds(_ub); |
| 95 | }, |
| 96 | ::py::arg("ub")) |
| 97 | .def( |
| 98 | "setObjective", |
| 99 | +[](dart::optimizer::Problem* self, |
| 100 | dart::optimizer::FunctionPtr _obj) { self->setObjective(_obj); }, |
| 101 | ::py::arg("obj")) |
| 102 | .def( |
| 103 | "getObjective", |
no test coverage detected