MeVisLab Toolbox Reference
mlVTKPythonConverter.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #pragma once
14 
15 #ifdef MLVTK_ENABLE_PYTHON_SUPPORT
16 
17 #include "mlInitSystemVTKSupport.h"
18 #include "mlVTKCommonWrappers.h"
19 
20 #include <mlTypeDefs.h>
21 #include <Base/mlabCoreServices.h>
22 #include <PythonQt.h>
23 #include <PythonQtCppWrapperFactory.h>
24 
25 ML_START_NAMESPACE
26 
28 class VTKPythonConverter : public MLABPythonBaseConverter
29 {
30 public:
32  static void init();
33 
36  virtual PyObject* convertToPyObject(ml::Base* base);
37 
41  virtual ml::Base* wrapPyObject(PyObject* object);
42 };
43 
46 class VTKPythonQtWrapperFactory : public PythonQtForeignWrapperFactory
47 {
48 public:
50  static void init();
51 
52  VTKPythonQtWrapperFactory() {};
53 
54  virtual PyObject* wrap(const QByteArray& classname, void *ptr);
55  virtual void* unwrap(const QByteArray& classname, PyObject* object);
56 };
57 
58 ML_END_NAMESPACE
59 
60 #endif
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
void init()
Initializes the ML, the runtime type system, the memory manager, fields, static buffers,...