43#include <pybind11/pybind11.h>
44#include <pybind11/embed.h>
47#include <HoleFillerPlugin.hh>
50#include <QCoreApplication>
52#include <OpenFlipper/BasePlugin/PythonFunctions.hh>
53#include <OpenFlipper/PythonInterpreter/PythonTypeConversions.hh>
57namespace py = pybind11;
61PYBIND11_EMBEDDED_MODULE(HoleFiller, m) {
63 QObject* pluginPointer = getPluginPointer(
"HoleFiller");
66 std::cerr <<
"Error Getting plugin pointer for Plugin-HoleFilling" << std::endl;
73 std::cerr <<
"Error converting plugin pointer for Plugin-HoleFilling" << std::endl;
79 py::class_< HoleFillerPlugin,std::unique_ptr<HoleFillerPlugin, py::nodelete> > hole(m,
"HoleFiller");
84 hole.def(py::init([plugin]() {
return plugin; }));
87 QCoreApplication::translate(
"PythonDocHoleFiller",
"Fills all holes of an object").toLatin1().data(),
88 py::arg(QCoreApplication::translate(
"PythonDocHoleFiller",
"Object id").toLatin1().data()) );
91 QCoreApplication::translate(
"PythonDocHoleFiller",
"Fills a given holes of an object identified by an edge").toLatin1().data(),
92 py::arg(QCoreApplication::translate(
"PythonDocHoleFiller",
"Object id").toLatin1().data()),
93 py::arg(QCoreApplication::translate(
"PythonDocHoleFiller",
"EdgeHandle id at a boundary of a hole").toLatin1().data()) );
void fillHole(int _objectID, int _edgeHandle)
fill a hole in given object where _edgeHandle is on the boundary
void fillAllHoles(int _objectID)
fill all holes from a given object