Skip to content
  • Jaswant Panchumarti (Kitware)'s avatar
    Add vtkObjectManager to (de)serialize vtkObjectBase (from)to json · 4305bca4
    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