MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / hasObject

Method hasObject

src/App/GroupExtensionPyImp.cpp:298–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

296}
297
298PyObject* GroupExtensionPy::hasObject(PyObject* args)
299{
300 PyObject* object;
301 PyObject* recursivePy = Py_False;
302 if (!PyArg_ParseTuple(args,
303 "O!|O!",
304 &(DocumentObjectPy::Type),
305 &object,
306 &PyBool_Type,
307 &recursivePy)) {
308 return nullptr;
309 }
310
311 DocumentObjectPy* docObj = static_cast<DocumentObjectPy*>(object);
312 bool recursive = Base::asBoolean(recursivePy);
313 if (!docObj->getDocumentObjectPtr()
314 || !docObj->getDocumentObjectPtr()->isAttachedToDocument()) {
315 PyErr_SetString(Base::PyExc_FC_GeneralError, "Cannot check an invalid object");
316 return nullptr;
317 }
318 if (docObj->getDocumentObjectPtr()->getDocument()
319 != getGroupExtensionPtr()->getExtendedObject()->getDocument()) {
320 PyErr_SetString(Base::PyExc_FC_GeneralError,
321 "Cannot check an object from another document with this group");
322 return nullptr;
323 }
324
325 bool v = getGroupExtensionPtr()->hasObject(docObj->getDocumentObjectPtr(), recursive);
326 return PyBool_FromLong(v ? 1 : 0);
327}
328
329PyObject* GroupExtensionPy::getCustomAttributes(const char* /*attr*/) const
330{

Callers 1

addObjectMethod · 0.45

Calls 4

asBooleanFunction · 0.85
isAttachedToDocumentMethod · 0.45
getDocumentMethod · 0.45
getExtendedObjectMethod · 0.45

Tested by

no test coverage detected