omni::graph::core::ogn::NodeTypeABI
Defined in omni/graph/core/ogn/OmniGraphNodeABI.h
Inheritance Relationships
Derived Type
public omni::graph::core::ogn::OmniGraphNode_ABI< NodeTypeClass, NodeTypeDataClass >
(omni::graph::core::ogn::OmniGraphNode_ABI)
-
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
-
virtual void populateNodeTypeInterface(INodeType &nodeTypeInterface) const = 0