omni::graph::core::ogn::NodeTypeABI

Defined in omni/graph/core/ogn/OmniGraphNodeABI.h

Inheritance Relationships

Derived Type

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.