IGraphRegistry#

Fully qualified name: omni::graph::core::IGraphRegistry

struct IGraphRegistry#

Interface that manages the registration and deregistration of node types.

Public Members

size_t (*getRegisteredTypesCount)()#

Returns the number of registered node types in the graph.

This includes C++ types only.

Return:

The number of node type objects.

bool (*getRegisteredTypes)(NodeTypeObj *typesBuf, size_t bufferSize)#

Gets the list of the registered types in the graph.

This includes C++ types only.

Param typesBuf:

[out] Buffer to hold the return array of node type objects

Param bufferSize:

[in] The number of NodeTypeObj structures the buffer is able to hold

Return:

true on success, false on failure.

int (*getNodeTypeVersion)(const char *nodeType)#

Gets the version of the registered node type.

This includes both C++ and Python types.

Param nodeType:

[in] The name of the node type in question.

Return:

The version number of the currently registered type. If the type is not found returns the default version number, which is 0.

void (*registerNodeType)(const INodeType &desc, int version)#

Registers a node type as defined above with the system Deprecated.

Use registerNodeTypeInterface instead.

Param desc:

[in] Reference to the node type interface (the underlying object is not yet available here).

Param version:

[in] Version of the node interface to be registered.

void (*unregisterNodeType)(const char *nodeType)#

Unregisters a node type interface as defined above with the system.

Param nodeType:

[in] Name of the node type to be unregistered.

void (*registerNodeTypeAlias)(const INodeType &desc, const char *alias)#

Registers an alias by which a node type can be referred to.

Useful for backward compatibility in files.

Param desc:

[in] Reference to the node type interface.

Param alias:

[in] Alternate name that can be used to refer to the node type when creating.

bool (*inspect)(inspect::IInspector *inspector)#

Runs the inspector on the contents of the graph registry.

Param inspector:

[in] The inspector class.

Return:

true if the inspection ran successfully, false if the inspection type is not supported.

NodeTypeObj (*getRegisteredType)(const char *nodeTypeName)#

Gets the node type information corresponding to the node type name.

This includes aliases.

Param nodeTypeName:

[in] the name of the node type one wishes to acquire

Return:

The node type object corresponding to the inputted name if such a node type has been registered, an empty/invalid node type object if no such name has been registered.

carb::events::IEventStreamPtr (*getEventStream)()#

Returns the interface for the event stream for the changes on the graph registry.

The events that are raised are specified by IGraphRegistryEvent.

Return:

The event stream interface that pumps events.

void (*registerNodeTypeInterface)(const INodeType &desc, int version, size_t nodeTypeStructSize)#

Registers a node type as defined above with the system.

Param desc:

[in] Reference to the node type interface (the underlying object is not yet available here)

Param version:

[in] Version of the node interface to be registered

Param nodeTypeStructSize:

[in] The size of the INodeType struct being passed. Use sizeof(INodeType).