Open 3D Engine GraphModel Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
GraphModel::BaseInputOutputNode Class Reference

Common base class for GraphInput/OutputNodes. More...

#include <InputOutputNodes.h>

Inherits GraphModel::Node.

Inherited by GraphModel::GraphInputNode, and GraphModel::GraphOutputNode.

Public Member Functions

 AZ_RTTI (BaseInputOutputNode, "{C54F11AE-3151-44D7-B206-9206FA888963}", Node)
 
 BaseInputOutputNode (GraphPtr graph, DataTypePtr dataType)
 
const char * GetTitle () const override
 Returns the name that will be displayed as the title of the Node in the UI.
 
GraphModel::DataTypePtr GetNodeDataType () const
 
AZStd::string GetName () const
 
AZStd::string GetDisplayName () const
 
AZStd::string GetDescription () const
 
- Public Member Functions inherited from GraphModel::Node
 AZ_CLASS_ALLOCATOR (Node, AZ::SystemAllocator)
 
 AZ_RTTI (Node, "{274B4495-FDBF-45A9-9BAD-9E90269F2B73}", GraphElement)
 
 Node (GraphPtr graph)
 
virtual void PostLoadSetup (GraphPtr graph, NodeId id)
 
virtual void PostLoadSetup ()
 
virtual const char * GetSubTitle () const
 Returns the name that will be displayed as the sub-title of the Node in the UI.
 
virtual NodeType GetNodeType () const
 
NodeId GetId () const
 Return the unique ID for this node in the containing graph.
 
uint32_t GetMaxInputDepth () const
 Return the greatest distance, number of connected nodes, between this node and other root nodes.
 
uint32_t GetMaxOutputDepth () const
 Return the greatest distance, number of connected nodes, between this node and other leaf nodes.
 
bool HasSlots () const
 Return true if this node contains any slots.
 
bool HasInputSlots () const
 Return true if this node contains any input slots.
 
bool HasOutputSlots () const
 Return true if this node contains any output slots.
 
bool HasConnections () const
 Returns true if the graph contains any connections referencing this node.
 
bool HasInputConnections () const
 Returns true if the graph has any connections to input slots on this node.
 
bool HasOutputConnections () const
 Returns true if the graph has any connections to output slots on this node.
 
bool HasInputConnectionFromNode (ConstNodePtr node) const
 Returns true if any of the input slots on this node have direct or indirect connections to output slots on the specified node.
 
bool HasOutputConnectionToNode (ConstNodePtr node) const
 Returns true if any of the output slots on this node have direct or indirect connections to input slots on the specified node.
 
bool Contains (ConstSlotPtr slot) const
 Returns true if this node contains the specified slot.
 
const SlotDefinitionList & GetSlotDefinitions () const
 Returns SlotDefinitions for all available Slots.
 
const SlotMap & GetSlots ()
 
ConstSlotMap GetSlots () const
 
SlotPtr GetSlot (const SlotId &slotId)
 Returns the slot with the given slotId, or nullptr if it doesn't exist.
 
ConstSlotPtr GetSlot (const SlotId &slotId) const
 
SlotPtr GetSlot (const SlotName &name)
 
ConstSlotPtr GetSlot (const SlotName &name) const
 
const ExtendableSlotSet & GetExtendableSlots (const SlotName &name)
 Returns an ordered set of the extendable slots for a given SlotName, or an empty set if there are none.
 
int GetExtendableSlotCount (const SlotName &name) const
 
void DeleteSlot (SlotPtr slot)
 
virtual bool CanDeleteSlot (ConstSlotPtr slot) const
 
virtual SlotPtr AddExtendedSlot (const SlotName &slotName)
 
void ClearCachedData ()
 Clear any data that was cached for this node.
 
- Public Member Functions inherited from GraphModel::GraphElement
 AZ_CLASS_ALLOCATOR (GraphElement, AZ::SystemAllocator)
 
 AZ_RTTI (GraphElement, "{FD83C7CA-556B-49F1-BACE-6E9C7A4D6347}")
 
 GraphElement (GraphPtr graph)
 
GraphPtr GetGraph () const
 Returns the Graph that owns this GraphElement.
 
GraphContextPtr GetGraphContext () const
 Returns the GraphContext for this GraphElement.
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from GraphModel::Node
static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from GraphModel::GraphElement
static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

void RegisterCommonSlots (AZStd::string_view directionName)
 Registers metadata slots that are common for inputs and outputs, like name, displayName, and description.
 
- Protected Member Functions inherited from GraphModel::Node
virtual bool CanExtendSlot (SlotDefinitionPtr slotDefinition) const
 
void RegisterSlot (SlotDefinitionPtr slotDefinition)
 
virtual void RegisterSlots ()
 
void CreateSlotData ()
 

Protected Attributes

AZStd::string m_title
 
AZStd::shared_ptr< DataTypem_dataType
 
- Protected Attributes inherited from GraphModel::GraphElement
AZStd::weak_ptr< Graphm_graph
 

Additional Inherited Members

- Public Types inherited from GraphModel::Node
using SlotDefinitionList = AZStd::vector< SlotDefinitionPtr >
 
using SlotMap = AZStd::map< SlotId, SlotPtr >
 
using ConstSlotMap = AZStd::map< SlotId, const SlotPtr >
 
using ExtendableSlotSet = AZStd::set< SlotPtr, SortSlotsBySubId >
 
using ExtendableSlotMap = AZStd::map< SlotName, ExtendableSlotSet >
 
- Static Public Attributes inherited from GraphModel::Node
static const int INVALID_NODE_ID = 0
 

Detailed Description

Common base class for GraphInput/OutputNodes.

Constructor & Destructor Documentation

◆ BaseInputOutputNode()

GraphModel::BaseInputOutputNode::BaseInputOutputNode ( GraphPtr  graph,
DataTypePtr  dataType 
)

Constructor

Parameters
graphThe graph that owns this node
dataTypeThe type of data represented by this node

The documentation for this class was generated from the following file: