12#include "vtkCommonCoreModule.h"
18#include "vtk_nlohmannjson.h"
19#include VTK_NLOHMANN_JSON(json.hpp)
25VTK_ABI_NAMESPACE_BEGIN
96 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.
void SetSerializerLogVerbosity(vtkLogger::Verbosity verbosity)
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory.
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
vtkLogger::Verbosity GetSerializerLogVerbosity()
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory.
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.