NodeTypeABI#

Fully qualified name: omni::graph::core::ogn::NodeTypeABI

class NodeTypeABI#

Common base class for all node type implementation definitions, so that they can be in a common container.

Subclassed by omni::graph::core::ogn::OmniGraphNode_ABI< NodeTypeClass, NodeTypeDataClass >

Public Functions

virtual void populateNodeTypeInterface(
INodeType &nodeTypeInterface,
) const = 0#

Populate an INodeType interface with the functions that implement this particular templated node type.

Parameters:

nodeTypeInterface[out] Interface to be populated

inline void registerNodeType(IGraphRegistry &iGraphRegistry)#

Register the node type encapsulated in this description.

inline void registerNodeType(
IGraphRegistry &iGraphRegistry,
const std::vector<omni::core::ObjectPtr<unstable::INodeTypeCustomInterfaceBase>> &interfacePtrs,
)#

Register the node type encapsulated in this description along with the user-defined interfaces that it implements.

inline void deregisterNodeType(IGraphRegistry &iGraphRegistry)#

Deregister the node type encapsulated in this description.

Protected Functions

inline NodeTypeABI(
const char *nodeTypeName,
int version,
const char *extensionName,
)#

Construct a new NodeTypeABI object.

Parameters:
  • nodeTypeName – Unique name of the node type

  • version – Version number of the node type

  • extensionName – Extension to which this node type belongs

Protected Attributes

const char *m_nodeTypeName = {nullptr}#

Unique name of the node type.

int m_version = {1}#

Current version of the node type.

const char *m_extensionName = {nullptr}#

Extension to which this node type belongs.