10#ifndef vtkSerializer_h
11#define vtkSerializer_h
15#include "vtkCommonCoreModule.h"
21#include "vtk_nlohmannjson.h"
22#include VTK_NLOHMANN_JSON(json.hpp)
28VTK_ABI_NAMESPACE_BEGIN
99 std::unique_ptr<vtkInternals> Internals;
a simple class to control print indentation
Shared context used by vtkSerializer and vtkDeserializer
void SetSerializerLogVerbosity(vtkLogger::Verbosity verbosity)
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory.
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
vtkLogger::Verbosity SerializerLogVerbosity
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.