Browse Source

python: define trade.AbstractSceneConverter before trade.SceneContents.

SceneContents.FOR() uses it as an argument. Wasn't caught by the doc
generator, and looks like it didn't break testing either, probably
because this is an overloaded function and when an overload gets picked,
the types are already defined. Or something. Not sure.
next
Vladimír Vondruš 2 years ago
parent
commit
b0df197b57
  1. 5
      src/python/magnum/trade.cpp

5
src/python/magnum/trade.cpp

@ -3275,6 +3275,10 @@ void trade(py::module_& m) {
.value("NONE", Trade::SceneConverterFlag{}); .value("NONE", Trade::SceneConverterFlag{});
corrade::enumOperators(sceneConverterFlags); corrade::enumOperators(sceneConverterFlags);
/* Has to be created before SceneContents as SceneContents.FOR() depends on
it */
py::class_<Trade::AbstractSceneConverter, PluginManager::PyPluginHolder<Trade::AbstractSceneConverter>, PluginManager::AbstractPlugin> abstractSceneConverter{m, "AbstractSceneConverter", "Interface for scene converter plugins"};
py::enum_<Trade::SceneContent> sceneContents{m, "SceneContents", "Scene contents"}; py::enum_<Trade::SceneContent> sceneContents{m, "SceneContents", "Scene contents"};
sceneContents sceneContents
.value("SCENES", Trade::SceneContent::Scenes) .value("SCENES", Trade::SceneContent::Scenes)
@ -3305,7 +3309,6 @@ void trade(py::module_& m) {
}); });
corrade::enumOperators(sceneContents); corrade::enumOperators(sceneContents);
py::class_<Trade::AbstractSceneConverter, PluginManager::PyPluginHolder<Trade::AbstractSceneConverter>, PluginManager::AbstractPlugin> abstractSceneConverter{m, "AbstractSceneConverter", "Interface for scene converter plugins"};
abstractSceneConverter abstractSceneConverter
.def_property_readonly("features", [](Trade::AbstractSceneConverter& self) { .def_property_readonly("features", [](Trade::AbstractSceneConverter& self) {
return Trade::SceneConverterFeature(Containers::enumCastUnderlyingType(self.features())); return Trade::SceneConverterFeature(Containers::enumCastUnderlyingType(self.features()));

Loading…
Cancel
Save