------------------------------------------------------------------------------
| 383 | |
| 384 | //------------------------------------------------------------------------------ |
| 385 | PyObject* 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 | //------------------------------------------------------------------------------ |
| 425 | PyObject* vtkPythonUtil::GetObjectFromPointer(vtkObjectBase* ptr) |
nothing calls this directly
no test coverage detected