explain the vtk architecture design

In very broad strokes, using only Python as an example, the program vtkWrapPython is executed for each VTK header file and generates Python bindings for that header file.

CMake is responsible for generating the build rules that execute vtkWrapPython and that compile the generated Python binding code into Python extension modules.

The vtkWrapPython program itself is very complex, with over 10000 lines of code split across 20 or so source files. It includes a yacc parser that understands most of the C++ language grammar. The same yacc parser is also used for the programs that generate the Java bindings.

1 Like