ctkVTKPythonQtWrapperFactory.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /// CTK includes
  2. #include "ctkVTKPythonQtWrapperFactory.h"
  3. /// VTK includes
  4. #include <vtkPythonUtil.h>
  5. #include <vtkObject.h>
  6. #include <vtkVersion.h>
  7. //-----------------------------------------------------------------------------
  8. ctkVTKPythonQtWrapperFactory::ctkVTKPythonQtWrapperFactory():Superclass()
  9. {
  10. }
  11. //-----------------------------------------------------------------------------
  12. ctkVTKPythonQtWrapperFactory::~ctkVTKPythonQtWrapperFactory()
  13. {
  14. }
  15. //-----------------------------------------------------------------------------
  16. PyObject* ctkVTKPythonQtWrapperFactory::wrap(const QByteArray& classname, void *ptr)
  17. {
  18. if (classname.startsWith("vtk"))
  19. {
  20. #if (VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION <= 6) || VTK_MAJOR_VERSION < 5
  21. return vtkPythonGetObjectFromPointer(reinterpret_cast<vtkObjectBase*>(ptr));
  22. #else
  23. return vtkPythonUtil::GetObjectFromPointer(reinterpret_cast<vtkObjectBase*>(ptr));
  24. #endif
  25. }
  26. return NULL;
  27. }
  28. //-----------------------------------------------------------------------------
  29. void* ctkVTKPythonQtWrapperFactory::unwrap(const QByteArray& classname, PyObject* object)
  30. {
  31. if (classname.startsWith("vtk"))
  32. {
  33. #if (VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION <= 6) || VTK_MAJOR_VERSION < 5
  34. return vtkPythonGetPointerFromObject(object, classname.data());
  35. #else
  36. return vtkPythonUtil::GetPointerFromObject(object, classname.data());
  37. #endif
  38. }
  39. return NULL;
  40. }