43 #include <pybind11/include/pybind11/pybind11.h> 44 #include <pybind11/include/pybind11/embed.h> 50 #include <QCoreApplication> 52 #include <OpenFlipper/BasePlugin/PythonFunctions.hh> 53 #include <OpenFlipper/PythonInterpreter/PythonTypeConversions.hh> 61 PYBIND11_EMBEDDED_MODULE(FileOBJ, m) {
63 QObject* pluginPointer = getPluginPointer(
"FileOBJ");
66 std::cerr <<
"Error Getting plugin pointer for Plugin-FileOBJ" << std::endl;
73 std::cerr <<
"Error converting plugin pointer for Plugin-FileOBJ" << std::endl;
79 py::class_< FileOBJPlugin,std::unique_ptr<FileOBJPlugin, py::nodelete> > obj(m,
"FileOBJ");
84 obj.def(py::init([plugin]() {
return plugin; }));
89 QCoreApplication::translate(
"PythonDocFileOBJ",
"Loads an object and returns its id").toLatin1().data(),
90 py::arg(QCoreApplication::translate(
"PythonDocFileOBJ",
"Filename").toLatin1().data()) );
93 QCoreApplication::translate(
"PythonDocFileOBJ",
"Loads an object as a given datatype and returns its id").toLatin1().data(),
94 py::arg(QCoreApplication::translate(
"PythonDocFileOBJ",
"Filename").toLatin1().data()),
95 py::arg(QCoreApplication::translate(
"PythonDocFileOBJ",
"Data type (\"PolyMesh\" or \"TriangleMesh\")").toLatin1().data()));
98 obj.def(
"saveObject", &FileOBJPlugin::saveObject,
99 QCoreApplication::translate(
"PythonDocFileOBJ",
"saves a given object to a file").toLatin1().data(),
100 py::arg(QCoreApplication::translate(
"PythonDocFileOBJ",
"Object id to save").toLatin1().data()),
101 py::arg(QCoreApplication::translate(
"PythonDocFileOBJ",
"Filename").toLatin1().data()) );
int loadObject(QString _filename)
Loads Object and converts it to a triangle mesh if possible.