| 42 | namespace python { |
| 43 | |
| 44 | void DartLoader(py::module& m) |
| 45 | { |
| 46 | auto dartLoaderFlags |
| 47 | = ::py::enum_<utils::DartLoader::Flags>(m, "DartLoaderFlags") |
| 48 | .value("NONE", utils::DartLoader::Flags::NONE) |
| 49 | .value("FIXED_BASE_LINK", utils::DartLoader::Flags::FIXED_BASE_LINK) |
| 50 | .value("DEFAULT", utils::DartLoader::Flags::DEFAULT); |
| 51 | |
| 52 | auto dartLoaderRootJointType |
| 53 | = ::py::enum_<utils::DartLoader::RootJointType>( |
| 54 | m, "DartLoaderRootJointType") |
| 55 | .value("FLOATING", utils::DartLoader::RootJointType::FLOATING) |
| 56 | .value("FIXED", utils::DartLoader::RootJointType::FIXED); |
| 57 | |
| 58 | auto dartLoaderOptions |
| 59 | = ::py::class_<utils::DartLoader::Options>(m, "DartLoaderOptions") |
| 60 | .def( |
| 61 | ::py::init< |
| 62 | common::ResourceRetrieverPtr, |
| 63 | utils::DartLoader::RootJointType, |
| 64 | const dynamics::Inertia&>(), |
| 65 | ::py::arg("resourceRetriever") = nullptr, |
| 66 | ::py::arg("defaultRootJointType") |
| 67 | = utils::DartLoader::RootJointType::FLOATING, |
| 68 | ::py::arg("defaultInertia") = dynamics::Inertia()) |
| 69 | .def_readwrite( |
| 70 | "mResourceRetriever", |
| 71 | &utils::DartLoader::Options::mResourceRetriever) |
| 72 | .def_readwrite( |
| 73 | "mDefaultRootJointType", |
| 74 | &utils::DartLoader::Options::mDefaultRootJointType) |
| 75 | .def_readwrite( |
| 76 | "mDefaultInertia", |
| 77 | &utils::DartLoader::Options::mDefaultInertia); |
| 78 | |
| 79 | auto dartLoader |
| 80 | = ::py::class_<utils::DartLoader>(m, "DartLoader") |
| 81 | .def(::py::init<>()) |
| 82 | .def( |
| 83 | "setOptions", |
| 84 | &utils::DartLoader::setOptions, |
| 85 | ::py::arg("options") = utils::DartLoader::Options()) |
| 86 | .def("getOptions", &utils::DartLoader::getOptions) |
| 87 | .def( |
| 88 | "addPackageDirectory", |
| 89 | &utils::DartLoader::addPackageDirectory, |
| 90 | ::py::arg("packageName"), |
| 91 | ::py::arg("packageDirectory")) |
| 92 | .def( |
| 93 | "parseSkeleton", |
| 94 | +[](dart::utils::DartLoader* self, |
| 95 | const dart::common::Uri& uri, |
| 96 | const common::ResourceRetrieverPtr& resourceRetriever, |
| 97 | unsigned int flags) -> dart::dynamics::SkeletonPtr { |
| 98 | DART_SUPPRESS_DEPRECATED_BEGIN |
| 99 | return self->parseSkeleton(uri, resourceRetriever, flags); |
| 100 | DART_SUPPRESS_DEPRECATED_END |
| 101 | }, |