From d5036b4c979306413d2cb4ef2d7bb07f15dd05c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 27 Jul 2019 21:31:43 +0200 Subject: [PATCH] python: expose the new flags in meshtools.compile(). --- src/python/magnum/meshtools.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/python/magnum/meshtools.cpp b/src/python/magnum/meshtools.cpp index 0e450a5..d9d01c9 100644 --- a/src/python/magnum/meshtools.cpp +++ b/src/python/magnum/meshtools.cpp @@ -29,6 +29,7 @@ #include #include +#include "corrade/EnumOperators.h" #include "magnum/bootstrap.h" namespace magnum { @@ -43,13 +44,19 @@ void meshtools(py::module& m) { py::module::import("magnum.trade"); #endif + py::enum_ compileFlag{m, "CompileFlag", "Mesh compilation flags"}; + compileFlag + .value("NONE", MeshTools::CompileFlag{}) + .value("GENERATE_FLAT_NORMALS", MeshTools::CompileFlag::GenerateFlatNormals) + .value("GENERATE_SMOOTH_NORMALS", MeshTools::CompileFlag::GenerateSmoothNormals); + corrade::enumOperators(compileFlag); + m - .def("compile", [](const Trade::MeshData2D& data) { - return MeshTools::compile(data); - }, "Compile 2D mesh data") - .def("compile", [](const Trade::MeshData3D& data) { - return MeshTools::compile(data); - }, "Compile 3D mesh data"); + .def("compile", static_cast(&MeshTools::compile), + "Compile 2D mesh data", py::arg("mesh_data")) + .def("compile", [](const Trade::MeshData3D& meshData, MeshTools::CompileFlag flags) { + return MeshTools::compile(meshData, flags); + }, "Compile 3D mesh data", py::arg("mesh_data"), py::arg("flags") = MeshTools::CompileFlag{}); } }