#include #include #include #include #include "gtsam/nonlinear/utilities.h" // for RedirectCout. #include "wrap/serialization.h" #include using namespace std; namespace py = pybind11; PYBIND11_MODULE(enum_py, m_) { m_.doc() = "pybind11 wrapper of enum_py"; py::enum_(m_, "Color", py::arithmetic()) .value("Red", Color::Red) .value("Green", Color::Green) .value("Blue", Color::Blue); py::class_> pet(m_, "Pet"); pet .def(py::init(), py::arg("name"), py::arg("type")) .def_readwrite("name", &Pet::name) .def_readwrite("type", &Pet::type); py::enum_(pet, "Kind", py::arithmetic()) .value("Dog", Pet::Kind::Dog) .value("Cat", Pet::Kind::Cat); pybind11::module m_gtsam = m_.def_submodule("gtsam", "gtsam submodule"); py::enum_(m_gtsam, "VerbosityLM", py::arithmetic()) .value("SILENT", gtsam::VerbosityLM::SILENT) .value("SUMMARY", gtsam::VerbosityLM::SUMMARY) .value("TERMINATION", gtsam::VerbosityLM::TERMINATION) .value("LAMBDA", gtsam::VerbosityLM::LAMBDA) .value("TRYLAMBDA", gtsam::VerbosityLM::TRYLAMBDA) .value("TRYCONFIG", gtsam::VerbosityLM::TRYCONFIG) .value("DAMPED", gtsam::VerbosityLM::DAMPED) .value("TRYDELTA", gtsam::VerbosityLM::TRYDELTA); py::class_> mcu(m_gtsam, "MCU"); mcu .def(py::init<>()); py::enum_(mcu, "Avengers", py::arithmetic()) .value("CaptainAmerica", gtsam::MCU::Avengers::CaptainAmerica) .value("IronMan", gtsam::MCU::Avengers::IronMan) .value("Hulk", gtsam::MCU::Avengers::Hulk) .value("Hawkeye", gtsam::MCU::Avengers::Hawkeye) .value("Thor", gtsam::MCU::Avengers::Thor); py::enum_(mcu, "GotG", py::arithmetic()) .value("Starlord", gtsam::MCU::GotG::Starlord) .value("Gamorra", gtsam::MCU::GotG::Gamorra) .value("Rocket", gtsam::MCU::GotG::Rocket) .value("Drax", gtsam::MCU::GotG::Drax) .value("Groot", gtsam::MCU::GotG::Groot); #include "python/specializations.h" }