VTK
9.4.20250416
|
vtkObjectManager maintains internal instances of vtkSerializer and a vtkDeserializer to serialize and deserialize VTK objects respectively. More...
#include <vtkObjectManager.h>
Public Types | |
typedef vtkObject | Superclass |
using | RegistrarType = std::function< int(void *ser, void *deser, void *invoker, const char **error)> |
Loads user provided handlers. | |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkObjectManager * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
bool | InitializeExtensionModuleHandlers (const std::vector< RegistrarType > ®istrars) |
vtkTypeUInt32 | RegisterObject (vtkSmartPointer< vtkObjectBase > objectBase) |
Adds object into an internal container and returns a unique identifier. | |
bool | UnRegisterObject (vtkTypeUInt32 identifier) |
Removes an object and it's state. | |
bool | UnRegisterState (vtkTypeUInt32 identifier) |
Removes a state at id . | |
vtkTypeUInt32 | GetId (vtkSmartPointer< vtkObjectBase > objectBase) |
Get the identifier for object . | |
std::string | GetState (vtkTypeUInt32 id) |
Get state of the object at id . | |
vtkSmartPointer< vtkObjectBase > | GetObjectAtId (vtkTypeUInt32 id) |
Get object at id . | |
std::vector< vtkTypeUInt32 > | GetAllDependencies (vtkTypeUInt32 identifier) |
Returns a non-empty vector of identifiers of all objects that depend on an object with the given identifier. | |
std::vector< std::string > | GetBlobHashes (const std::vector< vtkTypeUInt32 > &ids) |
Returns a non-empty vector of hash strings that correspond to blobs used by the registered objects at each identifier in ids . | |
vtkSmartPointer< vtkTypeUInt8Array > | GetBlob (const std::string &hash) const |
Returns a blob stored at hash . | |
bool | RegisterBlob (const std::string &hash, vtkSmartPointer< vtkTypeUInt8Array > blob) |
Specifies a blob for hash . | |
bool | UnRegisterBlob (const std::string &hash) |
Removes a blob stored at hash . | |
void | PruneUnusedBlobs () |
Removes all blob (s) whose hash is not found in the state of any object registered directly or indirectly. | |
void | UpdateObjectsFromStates () |
Deserialize registered states into vtk objects. | |
void | UpdateStatesFromObjects () |
Serialize registered objects into vtk states. | |
void | UpdateStateFromObject (vtkTypeUInt32 identifier) |
Serialize object at identifier into the state. | |
void | Clear () |
Reset to initial state. | |
std::string | Invoke (vtkTypeUInt32 identifier, const std::string &methodName, const std::string &args) |
nlohmann::json | Invoke (vtkTypeUInt32 identifier, const std::string &methodName, const nlohmann::json &args) |
std::size_t | GetTotalBlobMemoryUsage () |
std::size_t | GetTotalVTKDataObjectMemoryUsage () |
void | Export (const std::string &filename, int indentLevel=-1, char indentChar=' ') |
Writes state of all registered objects to filename.json The blobs are written into filename.blobs.json . | |
void | Import (const std::string &stateFileName, const std::string &blobFileName) |
Reads state from state file and blobs from blob file. | |
virtual vtkSerializer * | GetSerializer () |
virtual vtkDeserializer * | GetDeserializer () |
virtual vtkInvoker * | GetInvoker () |
virtual bool | Initialize () |
Loads the default (de)serialization handlers and constructors for VTK classes. | |
bool | InitializeDefaultHandlers () |
Loads the default (de)serialization handlers and constructors for VTK classes. | |
bool | RegisterState (const std::string &state) |
Adds state into an internal container and returns a unique identifier. | |
bool | RegisterState (const nlohmann::json &state) |
Adds state into an internal container and returns a unique identifier. | |
void | UpdateObjectFromState (const std::string &state) |
Deserialize the state into vtk object. | |
void | UpdateObjectFromState (const nlohmann::json &state) |
Deserialize the state into vtk object. | |
void | SetObjectManagerLogVerbosity (vtkLogger::Verbosity verbosity) |
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory. | |
vtkLogger::Verbosity | GetObjectManagerLogVerbosity () |
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory. | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
vtkTypeBool | InvokeEvent (unsigned long event) |
vtkTypeBool | InvokeEvent (const char *event) |
std::string | GetObjectDescription () const override |
The object description printed in messages and PrintSelf output. | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. | |
vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
vtkTypeBool | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
virtual void | SetObjectName (const std::string &objectName) |
Set/get the name of this object for reporting purposes. | |
virtual std::string | GetObjectName () const |
Set/get the name of this object for reporting purposes. | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual std::string | GetObjectDescription () const |
The object description printed in messages and PrintSelf output. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual bool | UsesGarbageCollector () const |
Indicate whether the class uses vtkGarbageCollector or not. | |
Static Public Member Functions | |
static vtkObjectManager * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkObjectManager * | SafeDownCast (vtkObjectBase *o) |
static vtkTypeUInt32 | ROOT () |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (vtkTypeBool val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static vtkTypeBool | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkObjectManager () | |
~vtkObjectManager () override | |
void | PruneUnusedStates () |
Removes all objects that are neither referenced by this manager or any other object. | |
void | PruneUnusedObjects () |
Removes all objects that are neither referenced by this manager or any other object. | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
virtual void | ObjectFinalize () |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Static Protected Member Functions | |
static const char * | OWNERSHIP_KEY () |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
Protected Attributes | |
vtkSmartPointer< vtkMarshalContext > | Context |
vtkNew< vtkDeserializer > | Deserializer |
vtkNew< vtkSerializer > | Serializer |
vtkNew< vtkInvoker > | Invoker |
vtkLogger::Verbosity | ObjectManagerLogVerbosity = vtkLogger::VERBOSITY_INVALID |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
std::string | ObjectName |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
vtkObjectManager maintains internal instances of vtkSerializer and a vtkDeserializer to serialize and deserialize VTK objects respectively.
The vtkObjectManager facilitates:
Definition at line 39 of file vtkObjectManager.h.
Definition at line 43 of file vtkObjectManager.h.
using vtkObjectManager::RegistrarType = std::function<int(void* ser, void* deser, void* invoker, const char** error)> |
Loads user provided handlers.
Definition at line 57 of file vtkObjectManager.h.
|
protected |
|
overrideprotected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
Reimplemented in vtkWasmSceneManager.
|
static |
|
protectedvirtual |
Reimplemented in vtkWasmSceneManager.
vtkObjectManager * vtkObjectManager::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkWasmSceneManager.
|
virtual |
Loads the default (de)serialization handlers and constructors for VTK classes.
Reimplemented in vtkWasmSceneManager.
bool vtkObjectManager::InitializeDefaultHandlers | ( | ) |
Loads the default (de)serialization handlers and constructors for VTK classes.
bool vtkObjectManager::InitializeExtensionModuleHandlers | ( | const std::vector< RegistrarType > & | registrars | ) |
vtkTypeUInt32 vtkObjectManager::RegisterObject | ( | vtkSmartPointer< vtkObjectBase > | objectBase | ) |
Adds object
into an internal container and returns a unique identifier.
The identifier can be used in any of the methods that accept id
or a vector of id
.
bool vtkObjectManager::UnRegisterObject | ( | vtkTypeUInt32 | identifier | ) |
Removes an object and it's state.
Returns true if an object exists at id
and it was removed, false otherwise.
bool vtkObjectManager::RegisterState | ( | const std::string & | state | ) |
Adds state
into an internal container and returns a unique identifier.
The state
where n is an integer of type
std::string`. bool vtkObjectManager::RegisterState | ( | const nlohmann::json & | state | ) |
Adds state
into an internal container and returns a unique identifier.
The state
where n is an integer of type
std::string`. bool vtkObjectManager::UnRegisterState | ( | vtkTypeUInt32 | identifier | ) |
Removes a state at id
.
vtkTypeUInt32 vtkObjectManager::GetId | ( | vtkSmartPointer< vtkObjectBase > | objectBase | ) |
Get the identifier for object
.
Returns an integer >=0 if object
was previously registered directly or indirectly i.e, as a dependency of another registered object.
std::string vtkObjectManager::GetState | ( | vtkTypeUInt32 | id | ) |
Get state of the object at id
.
Returns a non empty json valid string if an object registered directly or indirectly at id
has a state.
vtkSmartPointer< vtkObjectBase > vtkObjectManager::GetObjectAtId | ( | vtkTypeUInt32 | id | ) |
Get object at id
.
Returns nullptr
if there is no object registered directly or indirectly at id
.
std::vector< vtkTypeUInt32 > vtkObjectManager::GetAllDependencies | ( | vtkTypeUInt32 | identifier | ) |
Returns a non-empty vector of identifiers of all objects that depend on an object with the given identifier.
Returns an empty vector if there are no dependents. When the root string is empty, the entire dependency tree is returned as a flat vector of identifiers.
std::vector< std::string > vtkObjectManager::GetBlobHashes | ( | const std::vector< vtkTypeUInt32 > & | ids | ) |
Returns a non-empty vector of hash strings that correspond to blobs used by the registered objects at each identifier in ids
.
vtkSmartPointer< vtkTypeUInt8Array > vtkObjectManager::GetBlob | ( | const std::string & | hash | ) | const |
Returns a blob stored at hash
.
bool vtkObjectManager::RegisterBlob | ( | const std::string & | hash, |
vtkSmartPointer< vtkTypeUInt8Array > | blob | ||
) |
Specifies a blob
for hash
.
Returns true
if the blob
is valid and successfully registered, false
otherwise.
bool vtkObjectManager::UnRegisterBlob | ( | const std::string & | hash | ) |
Removes a blob
stored at hash
.
void vtkObjectManager::PruneUnusedBlobs | ( | ) |
Removes all blob
(s) whose hash
is not found in the state of any object registered directly or indirectly.
void vtkObjectManager::UpdateObjectsFromStates | ( | ) |
Deserialize registered states into vtk objects.
void vtkObjectManager::UpdateStatesFromObjects | ( | ) |
Serialize registered objects into vtk states.
void vtkObjectManager::UpdateObjectFromState | ( | const std::string & | state | ) |
Deserialize the state into vtk object.
void vtkObjectManager::UpdateObjectFromState | ( | const nlohmann::json & | state | ) |
Deserialize the state into vtk object.
void vtkObjectManager::UpdateStateFromObject | ( | vtkTypeUInt32 | identifier | ) |
Serialize object at identifier
into the state.
void vtkObjectManager::Clear | ( | ) |
Reset to initial state.
All registered objects are removed and no longer tracked. All registered states are also removed. All registered blobs are also removed.
std::string vtkObjectManager::Invoke | ( | vtkTypeUInt32 | identifier, |
const std::string & | methodName, | ||
const std::string & | args | ||
) |
nlohmann::json vtkObjectManager::Invoke | ( | vtkTypeUInt32 | identifier, |
const std::string & | methodName, | ||
const nlohmann::json & | args | ||
) |
std::size_t vtkObjectManager::GetTotalBlobMemoryUsage | ( | ) |
std::size_t vtkObjectManager::GetTotalVTKDataObjectMemoryUsage | ( | ) |
void vtkObjectManager::Export | ( | const std::string & | filename, |
int | indentLevel = -1 , |
||
char | indentChar = ' ' |
||
) |
Writes state of all registered objects to filename.json
The blobs are written into filename.blobs.json
.
void vtkObjectManager::Import | ( | const std::string & | stateFileName, |
const std::string & | blobFileName | ||
) |
Reads state from state file and blobs from blob file.
This clears existing states, objects, blobs, imports data from the two files and updates objects from the states.
|
inlinestatic |
Definition at line 197 of file vtkObjectManager.h.
|
virtual |
|
virtual |
|
virtual |
void vtkObjectManager::SetObjectManagerLogVerbosity | ( | vtkLogger::Verbosity | verbosity | ) |
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory.
The GetObjectManagerLogVerbosity looks up system environment for VTK_OBJECT_MANAGER_LOG_VERBOSITY
that shall be used to set initial logger verbosity. The default value is TRACE.
Accepted string values are OFF, ERROR, WARNING, INFO, TRACE, MAX, INVALID or ASCII representation for an integer in the range [-9,9].
vtkLogger::Verbosity vtkObjectManager::GetObjectManagerLogVerbosity | ( | ) |
Set/Get the log verbosity of messages that are emitted when data is uploaded to GPU memory.
The GetObjectManagerLogVerbosity looks up system environment for VTK_OBJECT_MANAGER_LOG_VERBOSITY
that shall be used to set initial logger verbosity. The default value is TRACE.
Accepted string values are OFF, ERROR, WARNING, INFO, TRACE, MAX, INVALID or ASCII representation for an integer in the range [-9,9].
|
inlinestaticprotected |
Definition at line 230 of file vtkObjectManager.h.
|
protected |
Removes all objects that are neither referenced by this manager or any other object.
|
protected |
Removes all objects that are neither referenced by this manager or any other object.
|
protected |
Definition at line 224 of file vtkObjectManager.h.
|
protected |
Definition at line 225 of file vtkObjectManager.h.
|
protected |
Definition at line 226 of file vtkObjectManager.h.
|
protected |
Definition at line 227 of file vtkObjectManager.h.
|
protected |
Definition at line 228 of file vtkObjectManager.h.