Gui: Check Python types using Base::PyTypeCheck

This commit is contained in:
marioalexis
2022-07-20 01:18:22 -03:00
committed by Uwe
parent 5cb31ece93
commit fa6cf56020
7 changed files with 64 additions and 64 deletions

View File

@@ -308,23 +308,23 @@ PyObject* LinkViewPy::getDetailPath(PyObject* args)
}PY_CATCH
}
PyObject* LinkViewPy::getBoundBox(PyObject* args) {
PyObject* LinkViewPy::getBoundBox(PyObject* args)
{
PyObject *vobj = Py_None;
if (!PyArg_ParseTuple(args, "O",&vobj))
return nullptr;
ViewProviderDocumentObject *vpd = nullptr;
if(vobj!=Py_None) {
if(!PyObject_TypeCheck(vobj,&ViewProviderDocumentObjectPy::Type)) {
PyErr_SetString(PyExc_TypeError, "exepcting a type of ViewProviderDocumentObject");
return nullptr;
}
vpd = static_cast<ViewProviderDocumentObjectPy*>(vobj)->getViewProviderDocumentObjectPtr();
}
PY_TRY {
Base::PyTypeCheck(&vobj, &ViewProviderDocumentObjectPy::Type);
ViewProviderDocumentObject *vpd = nullptr;
if (vobj)
vpd = static_cast<ViewProviderDocumentObjectPy*>(vobj)->getViewProviderDocumentObjectPtr();
auto bbox = getLinkViewPtr()->getBoundBox(vpd);
Py::Object ret(new Base::BoundBoxPy(new Base::BoundBox3d(bbox)));
return Py::new_reference_to(ret);
}PY_CATCH
}
PY_CATCH
}
PyObject *LinkViewPy::getCustomAttributes(const char*) const