python: expose trade.Abstract{Importer,Converter}.features and .flags.
Right now the importer/converter APIs are not checked against the
features so using them wrong will assert and make Python die. But there
are at least the enums exposed now so it's possible to prevent the
assert.
py::class_<Trade::AbstractImporter,PluginManager::PyPluginHolder<Trade::AbstractImporter>,PluginManager::AbstractPlugin>abstractImporter{m,"AbstractImporter","Interface for importer plugins"};
py::class_<Trade::AbstractImporter,PluginManager::PyPluginHolder<Trade::AbstractImporter>,PluginManager::AbstractPlugin>abstractImporter{m,"AbstractImporter","Interface for importer plugins"};
py::class_<Trade::AbstractImageConverter,PluginManager::PyPluginHolder<Trade::AbstractImageConverter>,PluginManager::AbstractPlugin>abstractImageConverter{m,"AbstractImageConverter","Interface for image converter plugins"};
py::class_<Trade::AbstractImageConverter,PluginManager::PyPluginHolder<Trade::AbstractImageConverter>,PluginManager::AbstractPlugin>abstractImageConverter{m,"AbstractImageConverter","Interface for image converter plugins"};
.def("convert_to_file",checkImageConverterResult<ImageView1D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 1D image to a file",py::arg("image"),py::arg("filename"))
.def("convert_to_file",checkImageConverterResult<ImageView1D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 1D image to a file",py::arg("image"),py::arg("filename"))
.def("convert_to_file",checkImageConverterResult<ImageView2D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 2D image to a file",py::arg("image"),py::arg("filename"))
.def("convert_to_file",checkImageConverterResult<ImageView2D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 2D image to a file",py::arg("image"),py::arg("filename"))
.def("convert_to_file",checkImageConverterResult<ImageView3D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 3D image to a file",py::arg("image"),py::arg("filename"));
.def("convert_to_file",checkImageConverterResult<ImageView3D,&Trade::AbstractImageConverter::convertToFile>,"Convert a 3D image to a file",py::arg("image"),py::arg("filename"));
@ -1537,9 +1595,51 @@ void trade(py::module_& m) {
corrade::manager(imageConverterManager);
corrade::manager(imageConverterManager);
/* Scene converter */
/* Scene converter */
py::enum_<Trade::SceneConverterFeature>sceneConverterFeatures{m,"SceneConverterFeatures","Features supported by a scene converter"};
py::class_<Trade::AbstractSceneConverter,PluginManager::PyPluginHolder<Trade::AbstractSceneConverter>,PluginManager::AbstractPlugin>abstractSceneConverter{m,"AbstractSceneConverter","Interface for scene converter plugins"};
py::class_<Trade::AbstractSceneConverter,PluginManager::PyPluginHolder<Trade::AbstractSceneConverter>,PluginManager::AbstractPlugin>abstractSceneConverter{m,"AbstractSceneConverter","Interface for scene converter plugins"};