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

#include <GraphCanvasBus.h>

Inherits AZ::EBusTraits.

Public Types

using EntityGroup = AZStd::vector< AZ::EntityId >
 

Public Member Functions

virtual AZ::Entity * CreateBookmarkAnchor () const =0
 Create a Bookmark Anchor.
 
virtual AZ::Entity * CreateBookmarkAnchorAndActivate () const
 Create and activate a Bookmark Anchor.
 
virtual AZ::Entity * CreateScene () const =0
 Create an empty scene.
 
AZ::Entity * CreateSceneAndActivate () const
 
virtual AZ::Entity * CreateCoreNode () const =0
 
AZ::Entity * CreateCoreNodeAndActivate () const
 
virtual AZ::Entity * CreateGeneralNode (const char *nodeType) const =0
 
AZ::Entity * CreateGeneralNodeAndActivate (const char *nodeType) const
 
virtual AZ::Entity * CreateCommentNode () const =0
 Create a comment node.
 
AZ::Entity * CreateCommentNodeAndActivate () const
 
virtual AZ::Entity * CreateNodeGroup () const =0
 
AZ::Entity * CreateNodeGroupAndActivate () const
 
virtual AZ::Entity * CreateCollapsedNodeGroup (const CollapsedNodeGroupConfiguration &groupedNodeConfiguration) const =0
 
AZ::Entity * CreateCollapsedNodeGroupAndActivate (const CollapsedNodeGroupConfiguration &groupedNodeConfiguration)
 
virtual AZ::Entity * CreateWrapperNode (const char *nodeType) const =0
 
AZ::Entity * CreateWrapperNodeAndActivate (const char *nodeType) const
 
virtual AZ::Entity * CreateSlot (const AZ::EntityId &nodeId, const SlotConfiguration &slotConfiguration) const =0
 
virtual NodePropertyDisplayCreateBooleanNodePropertyDisplay (BooleanDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateNumericNodePropertyDisplay (NumericDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateComboBoxNodePropertyDisplay (ComboBoxDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateEntityIdNodePropertyDisplay (EntityIdDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateReadOnlyNodePropertyDisplay (ReadOnlyDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateStringNodePropertyDisplay (StringDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateVectorNodePropertyDisplay (VectorDataInterface *dataInterface) const =0
 
virtual NodePropertyDisplayCreateAssetIdNodePropertyDisplay (AssetIdDataInterface *dataInterface) const =0
 
virtual AZ::Entity * CreatePropertySlot (const AZ::EntityId &nodeId, const AZ::Crc32 &propertyId, const SlotConfiguration &slotConfiguration) const =0
 

Static Public Attributes

static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single
 

Detailed Description

GraphCanvasRequests Factory methods that allow default configurations of the Graph Canvas entities to be created, ready for customization, e.g. in the setup methods for user-defined custom entities.

Member Function Documentation

◆ CreateAssetIdNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateAssetIdNodePropertyDisplay ( AssetIdDataInterface dataInterface) const
pure virtual

Creates an AssetIdNodeProperty display using the specified AssetIdDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateBooleanNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateBooleanNodePropertyDisplay ( BooleanDataInterface dataInterface) const
pure virtual

Creates a BooleanNodeProperty display using the specified BooleanDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateComboBoxNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateComboBoxNodePropertyDisplay ( ComboBoxDataInterface dataInterface) const
pure virtual

Creates a ComboBoxNodePropertyDisplay using the specified ComboBoxInterface param: dataInterface is the interface to the local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateCoreNode()

virtual AZ::Entity * GraphCanvas::GraphCanvasRequests::CreateCoreNode ( ) const
pure virtual

Create a core node. This node will not be activated, and will be missing visual components. This contains just the logical backbone that we can share across nodes.

◆ CreateEntityIdNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateEntityIdNodePropertyDisplay ( EntityIdDataInterface dataInterface) const
pure virtual

Creates an EntityIdNodeProperty display using the specified EntityIdDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateGeneralNode()

virtual AZ::Entity * GraphCanvas::GraphCanvasRequests::CreateGeneralNode ( const char *  nodeType) const
pure virtual

Create a general node. The node will have a general layout, visual (including title) and no slots. It will be styled. This acts as a generic node, and a good starting point for most functionality.

◆ CreateNumericNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateNumericNodePropertyDisplay ( NumericDataInterface dataInterface) const
pure virtual

Creates a DoubleNodeProperty display using the specified NumericDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreatePropertySlot()

virtual AZ::Entity * GraphCanvas::GraphCanvasRequests::CreatePropertySlot ( const AZ::EntityId &  nodeId,
const AZ::Crc32 &  propertyId,
const SlotConfiguration slotConfiguration 
) const
pure virtual

Create a property slot param: nodeId is the parent node param: propertyId is the id to identify the property param: slotConfiguration is the various configurable aspects of the slot.

◆ CreateReadOnlyNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateReadOnlyNodePropertyDisplay ( ReadOnlyDataInterface dataInterface) const
pure virtual

Creates a ReadOnlyNodeProperty display using the specified ReadOnlyDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateStringNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateStringNodePropertyDisplay ( StringDataInterface dataInterface) const
pure virtual

Creates a StringNodeSlotProperty display using the specified StringDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateVectorNodePropertyDisplay()

virtual NodePropertyDisplay * GraphCanvas::GraphCanvasRequests::CreateVectorNodePropertyDisplay ( VectorDataInterface dataInterface) const
pure virtual

Creates a VectorNodeProperty display using the specified VectorDataInterface param: dataInterface is the interface to local data to be used in the operation of the NodePropertyDisplay. The PropertyDisplay will take ownership of the DataInterface

◆ CreateWrapperNode()

virtual AZ::Entity * GraphCanvas::GraphCanvasRequests::CreateWrapperNode ( const char *  nodeType) const
pure virtual

Create a wrapper node. A wrapped node is node that can wrap other nodes to provide some extension of functionality.

◆ CreateWrapperNodeAndActivate()

AZ::Entity * GraphCanvas::GraphCanvasRequests::CreateWrapperNodeAndActivate ( const char *  nodeType) const
inline

Create a wrapper node and activate it. A wrapped node is node that can wrap other nodes to provide some extension of functionality.


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