12#include "vtkCommonCoreModule.h"
17#include "vtk_nlohmannjson.h"
18#include VTK_NLOHMANN_JSON(json.hpp)
24VTK_ABI_NAMESPACE_BEGIN
77 std::unique_ptr<vtkInternals> Internals;
a simple class to control print indentation
Shared context used by vtkSerializer and vtkDeserializer
abstract base class for most VTK objects
abstract base class for most VTK objects
Serialize VTK objects to JSON.
vtkGetSmartPointerMacro(Context, vtkMarshalContext)
Get/Set the marshalling context.
HandlerType GetHandler(const std::type_info &type) const
The handlers are invoked to serialize an object of type type.
nlohmann::json SerializeJSON(vtkObjectBase *objectBase)
Serialize the VTK object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool UnRegisterHandler(const std::type_info &type)
The handlers are invoked to serialize an object of type type.
static vtkSerializer * New()
vtkSmartPointer< vtkMarshalContext > Context
vtkSetSmartPointerMacro(Context, vtkMarshalContext)
Get/Set the marshalling context.
std::function< nlohmann::json(vtkObjectBase *, vtkSerializer *)> HandlerType
~vtkSerializer() override
void RegisterHandler(const std::type_info &type, HandlerType handler)
The handlers are invoked to serialize an object of type type.
Hold a reference to a vtkObjectBase instance.