MCPcopy Create free account
hub / github.com/Kitware/VTK / FindObject

Method FindObject

Wrapping/PythonCore/vtkPythonUtil.cxx:385–422  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

383
384//------------------------------------------------------------------------------
385PyObject* vtkPythonUtil::FindObject(vtkObjectBase* ptr)
386{
387 PyObject* obj = nullptr;
388
389 if (ptr && vtkPythonMap)
390 {
391 vtkPythonObjectMap::iterator i = vtkPythonMap->ObjectMap->find(ptr);
392 if (i != vtkPythonMap->ObjectMap->end())
393 {
394 obj = i->second.first;
395 }
396 if (obj)
397 {
398 Py_INCREF(obj);
399 return obj;
400 }
401 }
402 else
403 {
404 Py_INCREF(Py_None);
405 return Py_None;
406 }
407
408 // search weak list for object, resurrect if it is there
409 vtkPythonGhostMap::iterator j = vtkPythonMap->GhostMap->find(ptr);
410 if (j != vtkPythonMap->GhostMap->end())
411 {
412 if (j->second.vtk_ptr.GetPointer())
413 {
414 obj = PyVTKObject_FromPointer(j->second.vtk_class, j->second.vtk_dict, ptr);
415 }
416 Py_DECREF(j->second.vtk_class);
417 Py_DECREF(j->second.vtk_dict);
418 vtkPythonMap->GhostMap->erase(j);
419 }
420
421 return obj;
422}
423
424//------------------------------------------------------------------------------
425PyObject* vtkPythonUtil::GetObjectFromPointer(vtkObjectBase* ptr)

Callers

nothing calls this directly

Calls 5

PyVTKObject_FromPointerFunction · 0.85
findMethod · 0.45
endMethod · 0.45
GetPointerMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected