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.
|
!! Start in Graph.h for high level GraphModel documentation !!! More...
#include <Slot.h>
Inherits GraphModel::GraphElement, and AZStd::enable_shared_from_this< Slot >.
Public Types | |
using | ConnectionList = AZStd::vector< AZStd::shared_ptr< Connection > > |
Public Member Functions | |
AZ_CLASS_ALLOCATOR (Slot, AZ::SystemAllocator) | |
AZ_RTTI (Slot, "{50494867-04F1-4785-BB9C-9D6C96DCBFC9}", GraphElement) | |
Slot (GraphPtr graph, SlotDefinitionPtr slotDefinition, SlotSubId subId=0) | |
virtual void | PostLoadSetup (GraphPtr graph, SlotDefinitionPtr slotDefinition) |
SlotDefinitionPtr | GetDefinition () const |
Return the SlotDefinition that defines this Slot. | |
bool | Is (SlotDirection slotDirection, SlotType slotType) const |
Convenience functions that wrap SlotDefinition accessors. | |
SlotDirection | GetSlotDirection () const |
SlotType | GetSlotType () const |
bool | SupportsValues () const |
bool | SupportsDataTypes () const |
bool | SupportsConnections () const |
bool | SupportsExtendability () const |
bool | IsVisibleOnNode () const |
bool | IsEditableOnNode () const |
const SlotName & | GetName () const |
const AZStd::string & | GetDisplayName () const |
const AZStd::string & | GetDescription () const |
const AZStd::vector< AZStd::string > & | GetEnumValues () const |
DataTypePtr | GetDataType () const |
Valid for Data and Property slots. Otherwise returns null. | |
DataTypePtr | GetDefaultDataType () const |
Valid for Data and Property slots. Otherwise returns null. | |
AZStd::any | GetDefaultValue () const |
Valid for Data and Property slots. Otherwise returns an empty AZStd::any. | |
const DataTypeList & | GetSupportedDataTypes () const |
bool | IsSupportedDataType (DataTypePtr dataType) const |
Return true if the input data type is supported by this slot. | |
const int | GetMinimumSlots () const |
Convenience functions that wrap SlotDefinition accessors (specific to definitions that support extendable slots) | |
const int | GetMaximumSlots () const |
SlotId | GetSlotId () const |
SlotSubId | GetSlotSubId () const |
NodePtr | GetParentNode () const |
AZStd::any | GetValue () const |
template<typename T > | |
T | GetValue () const |
template<typename T > | |
void | SetValue (const T &value) |
void | SetValue (const AZStd::any &value) |
const ConnectionList & | GetConnections () const |
void | ClearCachedData () |
Reset any data that was cached for this slot. | |
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::GraphElement | |
static void | Reflect (AZ::ReflectContext *context) |
Additional Inherited Members | |
Protected Attributes inherited from GraphModel::GraphElement | |
AZStd::weak_ptr< Graph > | m_graph |
!! Start in Graph.h for high level GraphModel documentation !!!
Represents the instance of a slot, based on a specific SlotDefinition. If you think of the SlotDefinition as a class declaration, then a Slot is like an instance of that class. Slots may contain data like default values and connections to other Slots. The specific set of supported features is determined by the SlotDefinition's combination of SlotType and SlotDirection.
(We take the approach of using a single class with some features unused in specific configurations because it ends up being cleaner than a complex class hierarchy).
GraphModel::Slot::Slot | ( | GraphPtr | graph, |
SlotDefinitionPtr | slotDefinition, | ||
SlotSubId | subId = 0 |
||
) |
const ConnectionList& GraphModel::Slot::GetConnections | ( | ) | const |
Returns the list of connections to this Slot. (Property slots will never have connections)
NodePtr GraphModel::Slot::GetParentNode | ( | ) | const |
const DataTypeList& GraphModel::Slot::GetSupportedDataTypes | ( | ) | const |
Valid for Data and Property slots. Otherwise returns an empty DataTypeList. If valid, this will return the full list of all data types this slot could support.
AZStd::any GraphModel::Slot::GetValue | ( | ) | const |
Return the slot's value, which will be used if there are no input connections. Valid for Input Data and Property slots.
T GraphModel::Slot::GetValue |
Return the slot's value, which will be used if there are no input connections. Returns 0 if the type doesn't match. Type template type T must match the slot's data type. Valid for Input Data and Property slots.
|
virtual |
Initializion after the Slot has been serialized in. This must be called whenever the default constructor is used. Sets the m_graph pointer and caches pointers to other GraphElements.
void GraphModel::Slot::SetValue | ( | const AZStd::any & | value | ) |
Sets the slot's value, which will be used if there are no input connections. AZStd::any type must match the slot's data type. Valid for Input Data and Property slots.
void GraphModel::Slot::SetValue | ( | const T & | value | ) |
Sets the slot's value, which will be used if there are no input connections. Type template type T must match the slot's data type. Valid for Input Data and Property slots.