-
Jaswant Panchumarti (Kitware) authored
- Add new `INCLUDE_MARSHAL` argument in `vtk.module` that opts in the module for marshalling and use with `vtkObjectManager`. - Add new `VTK_WRAP_SERIALIZATION` CMake option - Add new `ENABLE_MARSHALLING` option for `vtk_module_build`. - When marshalling is enabled and a `vtk.module` has the `INCLUDE_MARSHAL` argument, serialization code and registrar code will be generated for that module. - Add new `vtk_module_serdes` CMake function to generate serialization sources for a module. - The serialization registrar for each module will be generated from the `CMake/vtkSerializationLibraryRegistrar.h.in` template - Add marshalling support in build system - Add new SerializationManager module with `vtkObjectManager` class. - `vtkObjectManager` is meant to be the user-facing class to track objects, their states and data arrays hashed in the form of blobs to minimize the number of copies of point coordinates, cell arrays, scalars, etc. - Add new `vtkSerializer`, `vtkDeserializer` and `vtkMarshalContext` classes to help with (de)serialization and tracking object states. This is internally used by `vtkObjectManager`.
4305bca4